指針數(shù)組:首先它是一個(gè)數(shù)組,數(shù)組的元素都是指針,數(shù)組占多少個(gè)字節(jié)由數(shù)組本身決定。它是“儲(chǔ)存指針的數(shù)組”的簡(jiǎn)稱。
數(shù)組指針:首先它是一個(gè)指針,它指向一個(gè)數(shù)組。在32 位系統(tǒng)下永遠(yuǎn)是占4 個(gè)字節(jié),至于它指向的數(shù)組占多少字節(jié),不知道。它是“指向數(shù)組的指針”的簡(jiǎn)稱。 下面到底哪個(gè)是數(shù)組指針,哪個(gè)是指針數(shù)組呢: A),int *p1[10]; B),int (*p2)[10]; 這里需要明白一個(gè)符號(hào)之間的優(yōu)先級(jí)問(wèn)題?!癧]”的優(yōu)先級(jí)比“*”要高。p1 先與“[]”結(jié)合,構(gòu)成一個(gè)數(shù)組的定義,數(shù)組名為p1,int *修飾的是數(shù)組的內(nèi)容,即數(shù)組的每個(gè)元素。那現(xiàn)在我們清楚,這是一個(gè)數(shù)組,其包含10 個(gè)指向int 類(lèi)型數(shù)據(jù)的指針,即指針數(shù)組。至于p2 就更好理解了,在這里“()”的優(yōu)先級(jí)比“[]”高,“*”號(hào)和p2 構(gòu)成一個(gè)指針的定義,指針變量名為p2,int 修飾的是數(shù)組的內(nèi)容,即數(shù)組的每個(gè)元素。數(shù)組在這里并沒(méi)有名字,是個(gè)匿名數(shù)組。那現(xiàn)在我們清楚p2 是一個(gè)指針,它指向一個(gè)包含10 個(gè)int 類(lèi)型數(shù)據(jù)的數(shù)組,即數(shù)組指針。我們可以借助下面的圖加深理解: ![]() |
|