Re: [語法] pointer to array請教
※ 引述《hilorrk (Cary)》之銘言:
: ※ 引述《jehovah (Lucius)》之銘言:
: : 最近在看C++ primer, 看到pointers 與多維 arrays的關係
: : 有段code 我拿來跑跑看, 有些不清楚的地方想請教
: : int ia[3][4] = {
: : {1, 2, 3, 4},
: : {2, 4, 6, 8},
: : };
: array是長這樣子的
: 1 2 3 4
: 2 4 6 8
: X X X X
: : int (*ip)[4] = ia; //請問這邊=ia 意義是什麼?
: 此處ia先decay成"pointer to a int[4](a int array type)"並assign給ip
: ip成為a pointer to a int array named ia[0]
: : ip=&ia[1];
: 指向ia[1]的位址(a pointer to a int array named ia[1])
: : 1. cout<< *ip 印出address
: ia[1](a int array)decay成pointer to ia[1][0],印出2的位址
: : 2. cout<< ip 印出相同address (這個我懂)
: ia[1]的位址等同於ia[1][0]的位址,也就是2的位址
束刪, 先謝謝指教, 真的獲益很多^^
還有一個疑問想請教
假設有個一維陣列 int a[4]={};
當我取 *a時會得到 a[0] 的element 0
而ip指向一個 int[4] 的array {1, 2, 3, 4}
為什麼 *ip時得到的是 ia[1][0] 的位址呢?
謝謝~~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.69.128.66
※ 編輯: jehovah 來自: 210.69.128.66 (08/20 17:30)
→
08/20 17:54, , 1F
08/20 17:54, 1F
→
08/20 17:55, , 2F
08/20 17:55, 2F
→
08/20 20:20, , 3F
08/20 20:20, 3F
→
08/20 20:21, , 4F
08/20 20:21, 4F
→
08/20 21:04, , 5F
08/20 21:04, 5F
→
08/20 21:05, , 6F
08/20 21:05, 6F
→
08/20 21:06, , 7F
08/20 21:06, 7F
→
08/20 21:07, , 8F
08/20 21:07, 8F
→
08/20 21:11, , 9F
08/20 21:11, 9F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 4 之 4 篇):