char *foo1 = (char*)malloc(8 * sizeof(foo1));
char foo2[8];
static char foo3[8];
if ((uintptr_t)fooX % sizeof(long) == 0)
printf("Zero\n");
else
printf("Non-zero\n");
我理解代码,但我不知道为什么我的每个foo都得零或非零,既不会得到零或者没有(因为有其他方式/关键字来声明变量)。你能解释一下吗?
此代码部分取自this post关于memcpy()