您的位置:首页 > 其它

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。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: