C语言字符二维数组怎么赋值合法?

2024-11-29 10:52:14
推荐回答(1个)
回答1:

这是因为"字符"中含有4个字节,外加一个串结束符,需要长度为5的字符数组才可以存储。
改为char str[2][5]={"字符","字符"};这样就不会报错了。
而char *str[2][3]={"字符","字符"};加个*号,只是存储在常量区的字符指针,就不会报错。
共有6个字符指针的存储空间,只使用了其中的2个元素来存储2个地址,当然就不会报错了。