我在初始化結構數組中的結構數組時遇到了一個問題。例如,如果我有如下代碼:初始化結構數組中的結構數組
#include <stdio.h>
int main() {
typedef struct {
int a;
int b;
int c;
} FIRST_T;
typedef struct {
int x;
int y;
int z;
FIRST_T *p;
} SECOND_T;
FIRST_T p1[]={{1,2,3},{3,4,5},{6,7,8}};
FIRST_T p2[]={{4,5,6},{7,8,9}};
SECOND_T my_second[]=
{
{1,2,3,p1},
{4,5,6,p2}
};
}
如果我要初始化我在第二陣列intialization部分本身第一陣列,那麼我將如何寫我SECOND_T的類型定義? like
SECOND_T my_second[]=
{
{1,2,3,{{1,2,3},{4,5,6},{7,8,9}}},
{4,5,6,{{1,1,1},{2,2,2}}}
};
那麼應該怎麼做我的SECOND_T?
我相信,我不能把它定義爲:
typedef struct {
int x;
int y;
int z;
FIRST_T p[]; //(I know its a blunder)
} SECOND_T;
請幫助。
我沒有得到你的問題,也許如果你說你想要在另一個結構數組裏面初始化一個數組是不可能的。 數組包含一個通過我們可以訪問元素的地址,並且您正在初始化另一個數組中的 ,因此第一個數組元素將如何通過第二個元素訪問。 – 2013-06-14 13:01:41