如何区别指针数组和数组指针?
生活随笔
收集整理的這篇文章主要介紹了
如何区别指针数组和数组指针?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
如何區別指針數組和數組指針?
例:下面到底哪個是數組指針,哪個是指針數組呢:?
A),int *p1[10];?
B),int (*p2)[10];
答案:
(1)對A來說:“[]”的優先級比“*”要高。p1 先與“[]”結合,構成一個數組的定義,數組名為p1,int *修飾的是數組的內容,即數組的每個元素。那現在我們清楚,這是一個數組,其包含10個指向int 類型數據的指針,即指針數組。
(2)對于B來說:在這里“()”的優先級比“[]”高,“*”號和p2 構成一個指針的定義,指針變量名為p2,int 修飾的是數組的內容,即數組的每個元素。數組在這里并沒有名字,是個匿名數組。那現在我們清楚p2 是一個指針,它指向一個包含10 個int 類型數據的數組,即數組指針。
例:下面到底哪個是數組指針,哪個是指針數組呢:?
A),int *p1[10];?
B),int (*p2)[10];
答案:
(1)對A來說:“[]”的優先級比“*”要高。p1 先與“[]”結合,構成一個數組的定義,數組名為p1,int *修飾的是數組的內容,即數組的每個元素。那現在我們清楚,這是一個數組,其包含10個指向int 類型數據的指針,即指針數組。
(2)對于B來說:在這里“()”的優先級比“[]”高,“*”號和p2 構成一個指針的定義,指針變量名為p2,int 修飾的是數組的內容,即數組的每個元素。數組在這里并沒有名字,是個匿名數組。那現在我們清楚p2 是一個指針,它指向一個包含10 個int 類型數據的數組,即數組指針。
(3)借助下面的圖加深理解:
總結
以上是生活随笔為你收集整理的如何区别指针数组和数组指针?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 以指针的形式和以下标的形式访问指针?以指
- 下一篇: char (*p3)[5] = a; 和