Re: [問題] 月經文...二維陣列傳入函式...
※ 引述《SATSUGAI (約翰‧克勞薩二世)》之銘言:
: 我爬了一下前面的文
: 都是用動態方式去處理
: 可是我翻課本,他可以直接傳耶?
: void printArray(const int a[][3]);
: int main(void)
: {
: int array1[2][3]={{1,2,3},{4,5,6}};
: int array2[2][3]= ......(省略)
: printArray(array1);
: printArray(array2);
: ....以下省略
: 這是課本的example 可是我照做 發現他都會出現warning
: incompatitble pointer type
: 那為什麼課本可以過 = ="
: 雖然說我陣列型態是char...但是也不至於傳不進去吧?
void printArray(const int a[2][3]) {
int b[2][3];
printf("%x\n", &a);
printf("%x\n", a);
printf("%x\n", &b);
printf("%x\n", b);
}
int main() {
int local_array[2][3];
printf("%x\n", &local_array);
printf("%x\n", local_array);
printArray(local_array);
system("pause");
return 0;
}
程式結果:
12ff4c // &local_array
12ff4c // local_array
12fe78 // &a
12ff4c // a
12fe54 // &b
12fe54 // b
嗯..它其實傳了一個pointer進去
也就是說 出現在參數列上的陣列變數a
會有 a != &a 這樣的情形喔XD
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.32.15.163
→
10/19 19:30, , 1F
10/19 19:30, 1F
→
10/19 19:31, , 2F
10/19 19:31, 2F
→
10/19 19:32, , 3F
10/19 19:32, 3F
推
10/19 19:35, , 4F
10/19 19:35, 4F
→
10/19 19:35, , 5F
10/19 19:35, 5F
→
10/19 19:35, , 6F
10/19 19:35, 6F
推
10/19 19:38, , 7F
10/19 19:38, 7F
推
10/19 19:43, , 8F
10/19 19:43, 8F
→
10/19 20:38, , 9F
10/19 20:38, 9F
→
10/19 20:38, , 10F
10/19 20:38, 10F
→
10/19 20:38, , 11F
10/19 20:38, 11F
→
10/19 20:39, , 12F
10/19 20:39, 12F
→
10/19 21:29, , 13F
10/19 21:29, 13F
討論串 (同標題文章)