Re: [作業] 演算法HW3的int **Input
※ 引述《Favonia (00010110110001101010100)》之銘言:
: ※ 引述《greydust (灰)》之銘言:
: : 請問這個東西傳進來的是?
: : 是單純一個二維陣列轉成int **的型態丟進來
: : 還是是丟array of pointer進來?
: : 感謝
: 二為陣列不可能轉型成 int**
: 所以你要問的應該是記憶體分配有沒有連續?xD
其實是可以轉的...像這樣寫:
#define N xxxxx
int a[N][N];
int **b = (int **)a;
不過後果...嗯,相當微妙 :p
其中最妙的地方就是 sizeof(int **)=8
這個要讀還是可以讀的出來啦...只是麻煩
嗯,其實講清楚一點我是不知道他是傳"一個二維陣列"
還是傳"一個指標的一維陣列",或是其他種的傳法
如果是傳一個二維陣列,理論上a[0][0]的位址+4就會變成a[0][1]... etc
如果是指標的一維陣列,那a[0]的位址+4就會變成a[1]
這相差非常遠 Orz
而且int **Input 這樣傳,不能直接寫Input[i][j] 囧rz
: --- 以下是個人意見 ---
: 這個時間應該沒有影響很多吧 @@"
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.30.60
推
12/09 23:32, , 1F
12/09 23:32, 1F
討論串 (同標題文章)