解释sizeof如何确定字符串的长度.
#include<stdio.h>
int main()
{
char str[] = "Sasindar\0Baby\0";
printf("%d\n", sizeof(str));
return 0;
}
Run Code Online (Sandbox Code Playgroud)
sizeof不确定字符串的长度.它确定结构在内存中占用的字节数.
在您的情况下,结构是str一个字节数组.编译器知道有多少字节(包括两个尾随'\0's)被放入数组中,因此它在编译时产生适当的大小.sizeof不知道这str是一个以null结尾的C字符串,所以它产生了15.
与此相反strlen,它将您的字符串解释为C字符串,并返回第一个字符串之前的字符数'\0'.
| 归档时间: |
|
| 查看次数: |
1534 次 |
| 最近记录: |