指針數(shù)組:首先它是一個數(shù)組,數(shù)組的元素都是指針,數(shù)組占多少個字節(jié)由數(shù)組本身決定。它是“儲存指針的數(shù)組”的簡稱。
數(shù)組指針:首先它是一個指針,它指向一個數(shù)組。在32 位系統(tǒng)下永遠是占4 個字節(jié),至于它指向的數(shù)組占多少字節(jié),不知道。它是“指向數(shù)組的指針”的簡稱。
下面到底哪個是數(shù)組指針,哪個是指針數(shù)組呢:
A),int *p1[10];
B),int (*p2)[10];
這里需要明白一個符號之間的優(yōu)先級問題?!癧]”的優(yōu)先級比“*”要高。p1 先與“[]”結合,構成一個數(shù)組的定義,數(shù)組名為p1,int *修飾的是數(shù)組的內容,即數(shù)組的每個元素。那現(xiàn)在我們清楚,這是一個數(shù)組,其包含10 個指向int 類型數(shù)據(jù)的指針,即指針數(shù)組。至于p2 就更好理解了,在這里“()”的優(yōu)先級比“[]”高,“*”號和p2 構成一個指針的定義,指針變量名為p2,int 修飾的是數(shù)組的內容,即數(shù)組的每個元素。數(shù)組在這里并沒有名字,是個匿名數(shù)組。那現(xiàn)在我們清楚p2 是一個指針,它指向一個包含10 個int 類型數(shù)據(jù)的數(shù)組,即數(shù)組指針。我們可以借助下面的圖加深理解:
本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內容,請
點擊舉報。