memset与{0}有区别吗
比如
struct test
{
int a;
char str[32];
};
int main(int argc, char *argv[])
{
struct test t;
memset(&t, 0 , sizeof(struct test));
printf("%d--%s\n", t.a, t.name);
return 0;
}
与
int main(int argc, char *argv[])
{
struct test t = {0};
printf("%d--%s\n", t.a, t.name);
return 0;
}
有区别吗
测试后结果是一样的。
[解决办法]
如果你看反汇编或者禁用crt,都会发现原来{0}就是调用memset实现的……
[解决办法]
结果没区别,,意义有区别 第一个是赋值,另一个是初始化。。
[解决办法]