[問題] 請問指標的二維問題..

看板C_and_CPP (C/C++)作者 (uglyman)時間16年前 (2009/11/13 15:05), 編輯推噓3(305)
留言8則, 2人參與, 最新討論串1/1
#include <iostream> using namespace std; int main(void) { int array2d[3][5]={{1,2,3,4,5},{1,3,5,7,9},{2,4,6,8,0}}; int *ptr2; ptr2=&array2d[0][0]; cout << *(*(ptr2+1)+3) << endl << endl; system("PAUSE"); //暫停程式執行 return 0; //程式正常結束,傳回0 } 遇到的問題: (題意請描述清楚) 我想用指標的方式來顯示二維陣列的某個索引值.. 開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux) 我用的是 Visual C++ 2008 Express 有問題的code: (請善用置底文標色功能) cout << *(*(ptr2+1)+3) << endl << endl; 謝謝!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.133.74.124

11/13 15:27, , 1F
int (&ptr2)[3][5] = array2d;
11/13 15:27, 1F

11/13 15:27, , 2F
其他地方不變
11/13 15:27, 2F

11/13 15:30, , 3F
原因可參考#1AOkGwYb
11/13 15:30, 3F

11/13 15:35, , 4F
剛剛測試了一下,如果要照你原本的寫法的話,要改如下:
11/13 15:35, 4F

11/13 15:36, , 5F
*(ptr + 4 * y + x)
11/13 15:36, 5F

11/13 15:36, , 6F
x,y就是你的索引值
11/13 15:36, 6F

11/14 13:14, , 7F
*(ptr + 4 * y + x) 這應該屬於一維的寫法,我了解..
11/14 13:14, 7F

11/14 13:15, , 8F
但是我想問的是二維的寫法..ex: *(*ptr....
11/14 13:15, 8F
文章代碼(AID): #1A_GKxn3 (C_and_CPP)
文章代碼(AID): #1A_GKxn3 (C_and_CPP)