作者kobe123 (波波)
看板C_and_CPP
標題[問題]指標指向二維陣列
時間Sun Jul 19 17:15:34 2009
請問我程式這樣寫
int a[10][10];
int *ptr = a;
為什麼編譯一直錯誤??寫cannot convert
我查過書,書上就這樣寫,照理說應該是OK的
我用一維矩陣這樣寫也OK但換二維不行了
Why?
還是指標指向二維陣列有其他用法??
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.124.81.131
1F:推 zlw:int (*ptr)[10] = a; 或 int (&ptr)[10][10] = a; 07/19 17:19
2F:推 zlw:因為一維跟二維是不同資料型態,而『C++』會檢查資料型態 07/19 17:24
3F:→ kobe123:請問那c和c++用法是一樣的嗎?如果用c的話有別的用法嗎? 07/19 17:27
4F:→ kobe123:因為這用法跟書上寫的不太一樣有點搞不清是如何運作 07/19 17:28
5F:推 zlw:用法一樣,只是C的編譯器沒有強制規定 = 兩邊的資料型態要相同 07/19 17:29
6F:→ zlw:int *ptr = (int *)a; 這樣就會轉換 a 的資料型態了 07/19 17:29
7F:→ kobe123:感謝大大 07/19 17:36