前言
sizeof与strlen的区别和使用,希望能够帮助到你。
一、sizeof与strlen的区别
1.sizeof 是关键字,其单位是字节;
2.strlen 是库函数,参数是一个指针;
3.sizeof 不能计算动态分配空间的大小;
4.sizeof 是运算符,可以以类型、函数、做参数。
5.strlen 是函数,只能以char*(字符串)做参数,而且要想得到的结果正确必须包含'\0';
6. sizeof 是在编译的时候就将结果计算出来了,是类型所占的字节数,所以以数组名做参数计算时计算的是整个数组的大小。
7.strlen 是在运行的时候才开始计算结果,这时计算的结果不再是类型所占内存的大小,数组名也就理解成为指针了。
二、代码示例
2.1代码示例
char str[12] = "hello word";
printf("sizeof=%d\n",sizeof(str));
printf("strlen=%d\n",strlen(str));
2.2运行结果