int (*p)[4] 与 int* p[4]
生活随笔
收集整理的這篇文章主要介紹了
int (*p)[4] 与 int* p[4]
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
碰到一道題:
1 int a[3][4] = {1,2,3,4,5,6,7,8,9,10,11,12}; 2 int *p = a[0]; 3 int (*ptr)[4] = (a+1); 4 5 cout<<*(p+9)<<endl; 6 cout<<(*ptr+1)[1]<<endl; 7 cout<<*(*(a+2)+1)<<endl; 8 return 1;?
上題結果為: 10
7
10
?
分析:
int (*p)[4] ?由于()優先級最高,因而p是一個int類型的指針,該指針指向包含四個int變量的數組。int x[4] ;可以把*p等價為x,這樣就好理解了。
?
int (*ptr)[4] = (a+1)a為二維數組,ptr指向a[1]所指向的包含四個元素的int數組。
(*ptr+1)[1]即 *ptr[2]而int* p[4] 是一個指向int型的指針數組,即:p是包含四個元素的指針數組,指針指向的是int型。
轉載于:https://www.cnblogs.com/bigbigtree/p/3493169.html
總結
以上是生活随笔為你收集整理的int (*p)[4] 与 int* p[4]的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 对手机支付安全机制的思考
- 下一篇: GridView用法详解