sizeof()
是一个运算符,而 strlen()
是一个函数。
sizeof()
计算的是变量或类型所占用的内存字节数,而 strlen()
计算的是字符串中字符的个数。
sizeof()
可以用于任何类型的数据,而 strlen()
只能用于以空字符 ‘0’ 结尾的字符串。
注意:
char s[] = "hello" prinrf("%d", strlen(s)); printf("%d",sizeof(s));
上面代码的输出为
6 5
strlen(char*)
返回的是字符串的长度,不包括字符串末尾的空字符\0
。而 sizeof(char*)
返回的是指针类型所占用的字节数,通常是4或8个字节,具体取决于操作系统和编译器。