如果是抄袭问题请见谅。如果指出,我很乐意将其删除。
问题是,如果我在 c 中声明一个字符数组,比如
char character_array[4];
这是否意味着我只能存储 3 个字符并添加一个 '/0' 作为第四个字符?但是我已经试过了,并且成功地在字符数组中添加了四个字符。但是,当我这样做时,由于我已经用完了四个位置,“/0”在哪里添加?
最佳答案
嗯,是的,您可以存储任意四个字符。字符串终止字符 '\0'
与其他任何字符一样。
但您不必存储字符串,char
是一个小整数,因此您可以:
char character_array[] = { 1, 2, 3, 4 };
这使用了所有四个元素,但不存储可打印字符或任何终止符;结果不是 C 字符串。
如果要存储字符串,当然需要容纳终止符,因为根据定义,C 字符串总是以终止符结尾。
C 没有防止缓冲区溢出的保护,如果你瞄准你的脚并扣动扳机,通常它会很高兴地为你开枪。我们中的一些人喜欢这样。 :)
关于c - c中数组最多可存储的元素个数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44651320/