我看到了下面写的代码。
typedef struct abc {
int a;
char b;
float c;
} abc;
int main()
{
abc *ab;
int *i;
i = (int*)malloc(sizeof(int));
*i = 0;
ab = (abc*) i;
return 0;
}
在倒数第二行ab = (abc*) i;
,代码试图做什么?
如果我们要设置 的值ab->a
,那为什么要这样做,而不是:
ab->a = (int)i;
如果ab = (abc*) i;
更新 的值ab->a
,那么其他两个结构成员将如何在不单独初始化它们的情况下进行初始化?