以下に書かれているコードを見ました。
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;
}
最後から 2 番目の行ab = (abc*) i;
で、コードは何をしようとしていますか?
の値を設定したい場合、次のab->a
方法ではなく、なぜこの方法で行われるのですか?
ab->a = (int)i;
ab = (abc*) i;
の値を更新する場合ab->a
、他の 2 つの構造体メンバーを排他的に初期化せずにどのように初期化しますか?