gpt4 book ai didi

c - 声明字符数组时是否需要提供空字符?

转载 作者:太空狗 更新时间:2023-10-29 15:48:46 24 4
gpt4 key购买 nike

C语言中的字符串常量是以字符数组的形式存储的,在逐个元素创建这样的数组时,是否需要提供空字符。

我需要存储一个字符串常量,例如,S[number]= "hello\n"。字符串常量在C中以字符数组的形式存储,而且,这样的字符串以空字符'\0'结束。将短语存储在数组中时,我是否需要考虑空字符并分配额外的空间,还是只需要提及我需要存储的字符数?

最佳答案

如果您要使用 C 字符串函数,例如 strlen,- 那么答案是。您的字符串应该以 null 结尾。如果您引入自定义函数来处理字符串 - 您可以随意存储它。

值得一提的是,如果您使用字符串常量创建数组,它会自动为空字符保留空间。例如。以下代码的输出:

char s[] = "hello";
printf("%d", sizeof(s) / sizeof(char));

6

'h、'e'、'l'、'l'、'o' 为 5,'\0' 为 1。

关于c - 声明字符数组时是否需要提供空字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23286738/

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