这是什么char buf[MAXDATASIZE] = { 0 };的{0}手段?
试图将其打印出来,但它什么都没打印出来.
#include <stdio.h>
int main(void)
{
char buf[100] = { 0 };
printf("%s",buf);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
Oli*_*rth 12
这只是一个数组的初始化列表.所以它非常像普通的语法:
char buf[5] = { 1, 2, 3, 4, 5 };
Run Code Online (Sandbox Code Playgroud)
但是,C标准规定如果在初始化列表中没有提供足够的元素,它将默认初始化其余元素.因此,在您的代码中,所有元素都buf将最终初始化为0.
printf不显示任何内容,因为buf它实际上是一个零长度的字符串.