字符数组中,用两种不用的赋初值方式,分析所占存储空间是否相同?并说明原因??

如题所述

用下面两种不同的方式给字符数组赋初值,所占存储空间不同。

    char p[] = {'a', 'b', 'c'};

    结果是:声明了一个字符数组,不会自动添加'\0', 所以字符数组长度为3。

2.char p[] = "abc";

    结果是:用字符串去初始化 p ,要知道,C语言将字符串当作字符数组来处理,所以"abc"本身是有结束字符'\0'的,因为要加上结束字符'\0', 所以字符数组长度为4。

请采纳,谢谢。

温馨提示:答案为网友推荐,仅供参考
相似回答