所以我有一個包含一個聯合結構如下:的指針訪問指針工會
struct FILL{
char *name;
int id;
};
struct TEST{
union{
struct FILL *fill;
int type;
} *uni;
};
我不明白如何在結構中訪問工會成員。我一直試圖做到這一點如下:
struct TEST *test_struct, *test_int;
test_struct = malloc(sizeof(struct TEST));
test_struct->uni = malloc(sizeof(struct TEST));
test_struct->uni->fill->name = NULL;
test->struct->uni->fill->id = 5;
test_int = malloc(sizeof(int));
test_int->uni->type = 10;
但我得到segfaults,當我嘗試這個。我訪問這些錯誤嗎?我應該怎麼做呢?
編輯:對不起,我是專注于格式化和我搞砸了測試聲明。它已被修復。
如何提供'結構TEST'的完整,準確的申報?你提交的那個似乎被截斷了。 –
沒有遺憾,是我犯的一個錯誤,我已經糾正了,但,這是完整的聲明。 – Phenom588
什麼是'type'聯盟內部的目的,如果你永遠不會成爲能夠使用它?你應該把'type'放在struct中,其餘的放在union中。 – 2501