C语言求解char s[5]=""这种双引号里面啥都不写是什么意思

C语言求解char s[5]=""这种双引号里面啥都不写是什么意思,char s[5]="abcde"这是哪儿错了,我估计是出界了,不知是不是。。主要是第一个 问题,它里面啥都没写,不知是想干嘛,里面有没有一个字符'\0'??

字符数组初始
char s[]={'a','b','c','d','e'};
s数组自动初始化为带五个个元素的数组

char s[]="abcde";
s为带5个元素,共占6个字节(包括了字符结束符'\0')
char s[5]=""这种双引号里面啥都不写是初始化为空数组追问

既然是空数组,那我何不就不写呢,这样不是多此一举啊??

追答

初始化为空和不写不一样,不写,里面保存的是随机值

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-05-14

    char s[5]=""  初始化为空字符

    char s[5]="abcde"   s为字符数组,并不是因为出界出错,对声明的字符指针赋值可以这么写

相似回答