
1
char数组全部初始化为0后,数组名s并不等于NULL。如果后面用来存取一个字符串时,判断是否读取成功,要用strlen,不能与NULL作比较。
2
char s[100]={0}效果与后面的memset((void *)s,0,100);一样,全部初始化为0。但是要注意char s[100]={'a'};只初始化了s[0]='a',其他的全部为0.如果不做任何初始化的话,数组的内容不确定。
本文详细解释了如何使用C语言中的memset函数初始化字符数组,并通过实例演示了数组与NULL的比较,以及如何正确地使用strlen函数判断字符串读取是否成功。

1
char数组全部初始化为0后,数组名s并不等于NULL。如果后面用来存取一个字符串时,判断是否读取成功,要用strlen,不能与NULL作比较。
2
char s[100]={0}效果与后面的memset((void *)s,0,100);一样,全部初始化为0。但是要注意char s[100]={'a'};只初始化了s[0]='a',其他的全部为0.如果不做任何初始化的话,数组的内容不确定。

被折叠的 条评论
为什么被折叠?