-1
,比如我有以下2層結構在C:無法實現與2-d陣列結構中在C
typedef struct {
int index[128][128];
int value;
} x;
typedef struct {
x allx[128];
} y;
,並在主函數我試圖使用它們:
int main(int argc, char *argv[]) {
x x1 = {{{1,2},{3,4}}, 1};
x x2 = {{{2,4},{1,5}}, 0};
x x3 = {{{3,6},{1,7}}, 1};
y y1 = {{x1,x2,x3}};
printf("%s\n", "Test");
}
但是,在我編譯並運行它後,沒有任何反應。 printf將測試程序工作是否可以運行。但它什麼都不做,從不打印「測試」。在編譯期間,不會發生錯誤。我不知道它是否是struct x中的2-d數組的問題。任何人都可以幫忙
嘗試在調試器中運行,看看會發生什麼。 –
假設一個32位'int',你爲三個'x'實例(每個64k)請求粗略的196608字節,並且爲'y'實例添加了8388608個字節。總共約8.1875 ** MB **的自動存儲。如果你的運行時設置不能很好地運行,你的程序本質上就會嘔吐。 – WhozCraig