[問題] 雙重指標、二維陣列的疑問

看板C_and_CPP (C/C++)作者 (JK)時間13年前 (2012/09/25 20:25), 編輯推噓3(303)
留言6則, 4人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) DevC++ 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 問題1、 *ptr=a[0][0] *ptr應該是FF38(請參考示意圖)才對吧?(實際顯示8) 問題2、 &**ptr=a[0][0] &**ptr應該是FF38才對吧? (實際顯示8) 問題3、 printf("**ptr=%p\n",**ptr); 為什麼程式無法正常執行? 程式碼(Code):(請善用置底文網頁, 記得排版) #define m 3 #define n 4 int main(void) { int i,j; int **ptr; int a[m][n]; ptr=a; for(i=0;i<m;++i) { for(j=0;j<n;++j) a[i][j]=8; } printf("a=%p\n",a); printf("*a=%p\n",*a); printf("&*a=%p\n",&*a); printf("&**a=%p\n",&**a); printf("ptr=%p\n",ptr); printf("&*ptr=%p\n",&*ptr); printf("*ptr=%p\n",*ptr); printf("&**ptr=%p\n",&**ptr); //printf("**ptr=%p\n",**ptr); } 補充說明(Supplement): 參考下列網址內容畫出示意圖 網址: http://www.flag.com.tw/book/cento-5105.asp?bokno=FS712&id=275 示意圖: http://i.imgur.com/hXFhb.jpg
-- 「不懂不羞恥,不學才內疚」 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 1.163.11.89

09/25 22:29, , 1F
*ptr已經解參照了,所以*ptr是一個值 不是addr
09/25 22:29, 1F

09/26 00:14, , 2F
為什麼要花時間思考沒意義的東西= =
09/26 00:14, 2F

09/26 00:21, , 3F
寫出&**這種課本沒有的東西,還真的不簡單
09/26 00:21, 3F

09/26 00:26, , 4F
居然可以把單純的取值,取指標做這麼複雜的延申
09/26 00:26, 4F

09/26 09:10, , 5F
感謝兩位回答,看來是我走火入魔,想太多了,謝謝。
09/26 09:10, 5F

09/26 21:13, , 6F
程式寫到失控可能就會出現..(煙)
09/26 21:13, 6F
文章代碼(AID): #1GOQB6To (C_and_CPP)
文章代碼(AID): #1GOQB6To (C_and_CPP)