sizeof是一个一元运算符,输出变量或者别的什么数组的占用内存空间大小的
而strlen是以一个库函数,使用时需要需要包含库文件“string.h”结果返回字符串长度,不包含字符串结束符'\0'
例子:
#include "stdio.h"
#include <assert.h>
void main()
{
char* a = "abcdefg";
printf("%d\n",sizeof(a));
printf("%d\n",strlen(a));
}
结果输出:
4
7
因为第一个得到的是字符指针长度,为4;第二个得到的是字符串长度,为7.
编程时要注意两者不能混淆
文章评论(0条评论)
登录后参与讨论