strlen和sizeof的区别
2010-03-12 23:12
211 查看
strlen是有效字符串的长度,不包含‘/0’,与初始化有关系.
而sizeof()函数返回的是变量声明后所占的内存数,不是实际长度。
大部分编译程序 在编译的时候就把sizeof计算过了,strlen的结果要在运行的时候才能计算出来,时用来计算字符串的长度,不是类型占内存的大小。
如:
char str[20]="12345";
int a=sizeof(str); //a=20
int b=strlen(str); //b=5
sizeof是算符,strlen是函数。
sizeof可以用类型做参数,strlen只能用char*做参数,且必须是以''/0''结尾的。
sizeof还可以用函数做参数,比如:
short f();
printf("%d/n", sizeof(f()));
输出的结果是sizeof(short),即2。
而sizeof()函数返回的是变量声明后所占的内存数,不是实际长度。
大部分编译程序 在编译的时候就把sizeof计算过了,strlen的结果要在运行的时候才能计算出来,时用来计算字符串的长度,不是类型占内存的大小。
如:
char str[20]="12345";
int a=sizeof(str); //a=20
int b=strlen(str); //b=5
sizeof是算符,strlen是函数。
sizeof可以用类型做参数,strlen只能用char*做参数,且必须是以''/0''结尾的。
sizeof还可以用函数做参数,比如:
short f();
printf("%d/n", sizeof(f()));
输出的结果是sizeof(short),即2。
相关文章推荐
- Sizeof与Strlen的区别与联系 数组名作函数形参
- sizeof和strlen区别和联系
- C/C++中字符串长度strlen()/sizeof()区别
- strlen与sizeof区别
- Sizeof与Strlen的区别与联系
- Sizeof与Strlen的区别与联系
- C语言中sizeof与strlen区别2
- sizeof()与strlen()的区别
- 关于sizeof 和 strlen的区别
- Sizeof与Strlen的区别与联系
- sizeof和strlen的区别
- Sizeof与Strlen的区别与联系
- sizeof()和strlen()的区别
- C语言中的sizeof操作符用法及和strlen的区别
- C基础 对字符串数组的sizeof和strlen的区别
- Sizeof与Strlen的区别与联系(转)
- sizeof()和lstrlen()和strlen()区别
- strlen与sizeof的区别
- strlen和sizeof有什么区别?
- sizeof 和 strlen 的区别(举例说明)