我有這個循環給seg。故障。如何將指針視爲多數組?
s->c = malloc(width * height * sizeof(double));
if (s->c == NULL) { puts("malloc failed"); exit(1); }
for (int n = 0; n < width; n++) {
for (int m = 0; m < height; m++) {
d = (&s->c)[m][n];
printf("d %f\n", d);
printf("m %i\n", m);
printf("n %i\n", n);
}
}
內部S-> c是:
double* c;
當被執行時,它只是輸出:
d 27.000000
m 0
n 0
然後SEG。故障。
它工作時,我把s-> c作爲一維數組,但我真的很想把它當作二維數組。
這是可能的,當c指針在一個結構?
如果是這樣,是(&s->c)[m][n]
那麼訪問元素的正確方法是?
桑德拉
你可以給我們更多的代碼,特別是分配。 – tur1ng 2010-01-29 13:03:16
c如何分配? – 3lectrologos 2010-01-29 13:03:49
現在添加了如何分配c。 – 2010-01-29 13:08:35