gpt4 book ai didi

c - C 中的 Sizeof(char[])

转载 作者:太空狗 更新时间:2023-10-29 15:09:35 26 4
gpt4 key购买 nike

考虑这段代码:

 char name[]="123";
char name1[]="1234";

这个结果

The size of name (char[]):4
The size of name1 (char[]):5

为什么 char[] 的大小总是加一?

最佳答案

注意 sizeofstrlen 的区别。第一个是给出整个数据项大小的运算符。第二个是返回字符串长度的函数,该长度将小于其 sizeof(除非您已设法让字符串溢出),具体取决于实际使用了多少分配的空间。

在你的例子中

char name[]="123";

sizeof(name) 为 4,因为 '\0' 终止,而 strlen(name) 为 3。

但是在这个例子中:

char str[20] = "abc";

sizeof(str) 为 20,strlen(str) 为 3。

关于c - C 中的 Sizeof(char[]),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30101872/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com