sizeof和strlen的区别
2015-07-16 11:07
225 查看
sizeof是一个操作符,strlen是库函数。
sizeof的参数可以是数据的类型,也可以是变量,而strlen只能以结尾为‘\0‘的字符串作参数。
编译器在编译时就计算出了sizeof的结果。而strlen函数必须在运行时才能计算出来。并且sizeof
计算的是数据类型占内存的大小,而strlen计算的是字符串实际的长度。
数组做sizeof的参数不退化,传递给strlen就退化为指针了。
注意:有些是操作符看起来像是函数,而有些函数名看起来又像操作符,这类容易混淆的名称一定要加以区分,否则遇到数组名这类特殊数据类型作参数时就很容易出错。最容易混淆为函数的操作符就是sizeof。
sizeof的参数可以是数据的类型,也可以是变量,而strlen只能以结尾为‘\0‘的字符串作参数。
编译器在编译时就计算出了sizeof的结果。而strlen函数必须在运行时才能计算出来。并且sizeof
计算的是数据类型占内存的大小,而strlen计算的是字符串实际的长度。
数组做sizeof的参数不退化,传递给strlen就退化为指针了。
注意:有些是操作符看起来像是函数,而有些函数名看起来又像操作符,这类容易混淆的名称一定要加以区分,否则遇到数组名这类特殊数据类型作参数时就很容易出错。最容易混淆为函数的操作符就是sizeof。
相关文章推荐
- C中的volatile用法
- stdin、stdout、stderr 的说明
- 使用do{}while(0)的好处
- 逻辑与和短路与的区别
- 逻辑与和短路与的区别
- 环境变量,JRE全称, unicode…
- 字面量
- c语言中字符串中的双引号
- 实例解说Linux中fdisk分区使用方法
- inline与__inline__的区别
- C语言的inline
- /dev/mem
- vim 快捷键
- select用法
- ios7 ios8 定位兼容性问题解决方案
- fork与vfork的区别
- Uber优步北京第一组奖励政策
- mac terminal连接远程服务器
- 讲述属性动画的使用 —使用动画旋转、平移、渐变和缩放
- perror 使用