我有以下結構:訪問結構變量
typedef struct
{
char member1[100];
char member2[100];
} struct1_t;
typedef struct
{
struct1_t member_struct1;
} struct2_t;
typedef struct1_t *struct1_ptr;
typedef struct2_t *struct2_ptr;
我想訪問member_struct1
內struct2
但我得到下面的代碼非標轉換錯誤:
struct2_ptr driver = (struct2_ptr) malloc(sizeof(struct2_t));
driver->member_struct1 = (struct1_t)malloc(sizeof(struct1_t));
請建議。
你到底想幹什麼?第二個'malloc'的目的是什麼?你想通過它分配什麼,爲什麼? – AnT
我需要爲struct2的memner_struct1分配一個新值 – Arun
爲了「爲struct2的memner struct1賦值」,不需要第二個'malloc'。第一個'malloc'分配了內存,現在你可以在內存中分配所有你想分配的內容。不需要任何額外的'malloc's。你爲什麼把第二個'malloc'放在那裏? – AnT