我有以下問題:從嵌套結構中提取結構c
我有一個全局結構,裏面有很多結構。 現在我想要一個子結構取出並存儲在其他結構中。
typedef struct
{
int a;
}A;
typedef struct
{
int b;
}B;
typedef struct
{
A dummy1;
B dummy2;
} C;
我想聲明第四結構提取從C 我做了我的memcpy,它是唯一的辦法?
幫助將是非常讚賞
感謝 Huzaifa
我有以下問題:從嵌套結構中提取結構c
我有一個全局結構,裏面有很多結構。 現在我想要一個子結構取出並存儲在其他結構中。
typedef struct
{
int a;
}A;
typedef struct
{
int b;
}B;
typedef struct
{
A dummy1;
B dummy2;
} C;
我想聲明第四結構提取從C 我做了我的memcpy,它是唯一的辦法?
幫助將是非常讚賞
感謝 Huzaifa
應該只能夠抓住dummy1的參考。
typedef struct { A dummy1; } D;
C var1;
D var2.dummy;
(*var2.dummy) = &var1.dummy1;
您可以指定結構。所以:
typedef struct
{
A blah1;
B blah2;
/* Other members here */
} D;
C c;
D d;
...
d.blah1 = c.dummy1;
是完全沒問題的。
使用的指針結構,你需要:
int main() {
C c;
c.dummy1.a = 10;
c.dummy2.b = 20;
A *a;
a = &c.dummy1;
printf("%d\n", a->a);
return 0;
}
它拋出編譯錯誤。 'dummy':不是'D'的成員( (* var2.dummy)=&var1.dummy1;) 語法錯誤:缺少';'之前'。'對於(D var2.dummy;) – user437777 2010-09-02 10:04:25
在C中沒有引用'''運算符的地址 – qrdl 2010-09-02 10:06:24
-1:它只是'C var1; D var2; var2.dummy1 = var1.dummy1;'。 – 2010-09-02 11:59:46