strlen和sizeof的区别
时间: 2023-11-12 08:40:48 浏览: 96
C语言中sizeof()与strlen()的区别详解
strlen 函数是用来计算字符串的长度的,它会在遇到字符串结尾标志(NULL 字符)时停止计数。strlen 函数只能用于字符数组。
sizeof 操作符是用来计算变量或类型所占用的内存空间的,它返回的是变量或类型所占用的字节数。sizeof 操作符可以用于任意类型的变量,包括字符数组。
所以在使用 strlen 函数时,需要注意的是,它只能计算字符数组中的字符个数,不能计算 NULL 字符本身的长度。而 sizeof 操作符不仅可以计算字符数组的总长度,还可以计算其他类型的变量的大小。
例如:
char str[] = "hello world";
int len = strlen(str);
printf("strlen: %d\n", len);
printf("sizeof: %d\n", sizeof(str));
输出结果为:
strlen: 11
sizeof: 12
可以看到,strlen 函数返回的是字符串 "hello world" 中字符的个数,而 sizeof 操作符返回的是整个字符数组 str 所占用的内存空间,其中包括了 NULL 字符。
阅读全文