标签: c string sizeof
解释sizeof如何确定字符串的长度。
{{1}}
答案 0 :(得分:6)
sizeof不确定字符串的长度。它确定结构在内存中占用的字节数。
sizeof
在您的情况下,结构是str,一个字节数组。编译器知道有多少字节(包括两个尾随'\0')被放入数组中,因此它在编译时产生适当的大小。 sizeof不知道str是一个以null结尾的C字符串,所以它产生了15。
str
'\0'
这与strlen形成对比,后者将您的字符串解释为C字符串,并返回第一个'\0'之前的字符数。
strlen