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/