局部字符数组的初始化问题.
编译器不对局部的字符数组做初始化,如:
void InitString(void)
{
char buf[20];
}
则buf的内容是随机的,所以很多代码里用:
memset(buf, 0, sizeof(buf)); //对buf做初始化;
但这样做有点烦,也有人用:
void InitString(void)
{
char buf[20] = {0};
//.....
}
或
void InitString(void)
{
char buf[20] = {0,};
//......
}
我想问下:后两种有什么区别,为什么非要加一个","?