如下代码:
1.char string[10] = {/0};
2.char string[10];
string[0] = '/0';
号称是这两种方式都可以,我使用的是第一种。
第一种方法会使得字符串数组声明的时候每一位都被置空;
第二种方法是用,将字符串第一位置空,根据c标准,空字符被认为是字符数组结束的标志,所以这样一来,字符数组就被初始化为空了,不过这种方式在我的机器上没有成功,表现为字符数组的后面几位中有随机的字符。
再来说一下字符数组要初始化的原因。其实我觉得所有的指针和数组都应该初始化,因为刚分配给你的地址空间是动态分配的,其中有些位可能有你预料不到的内容,这会造成奇怪的错误。初始化了以后,连续的地址空间就都是你初始化过的内容了,就不会发生读取到意料外的数据的情况了。