1、 sizeof是运算符,strlen是函数
2、 sizeof可以用类型做参数,strlen只能用char*做参数,且必须是以“\0”结尾的。
3、 大部分编译程序在编译的时候就把sizeof计算过了,是类型或是变量的长度;strlen的结果要在运行的时候才能计算出来,用来计算字符串的长度,而不是类型占内存的大小
char str[20]=”0123456789”;
int a=strlen(str);//a=10;
int b=sizeof(str);//b=20;
4、 数组做sizeof的参数不退化,传递给strlen就退化为指针。
5、 当使用了一个结构类型或变量时,sizeof返回实际的大小。当使用一静态的空间时,sizeof返回全部数组的尺寸。Sizeof操作符不能返回被动态分配的数组或外部的数组的尺寸。
sizeof 与strlen区别
最新推荐文章于 2023-01-11 22:16:05 发布