sizeof 和 strlen 的区别

发布时间 2023-04-05 16:34:16作者: Yohoc

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个字节,具体取决于操作系统和编译器。