bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

數組指針和指針數組和二重指針-創新互聯

數組指針和指針數組從字面上來看很糾結,有時候我也搞不清,分不清哪樣的是數組指針,哪樣的是指針數組。這東西就不是靠記憶的,我們采取分析加對比分層剝離的方法分析。

目前創新互聯公司已為上千家的企業提供了網站建設、域名、網站空間、網站改版維護、企業網站設計、扎魯特旗網站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協力一起成長,共同發展。

1.概念區別
1.1.數組指針:定語在前,主語在后。也就是數組的指針。一個指針,它指向一個數組。
1.2.指針數組:定語在前,主語在后。也就是指針 的數組。一個數組,里面的元素都是指針。

2.指針和數組分別定義的符號
2.1 int * p;
分析:
第一步:找核心,核心是p。
第二步:逐層剝離,p和*結合是指針。所以int*p;是定義了一個指針

2.2. int p[5];
分析:
第一步:找核心,核心是p。
第二步:逐層剝離,p和[]結合是數組。所以int p[5];是定義了一個數組。

3.指針數組和數組指針分別定義的符號
3.1 int * p[5]
分析:
第一步:找核心,核心是p。
第二步:逐層剝離,這時候p先和[]結合還是先和*結合,查優先級表得到[]優先級更高。所以p先和[]結合成為數組。
第三步:繼續逐層剝離,p[5]這個數組再和*結合
第四步:得到結果,有一個數組有5個元素,其元素都是指針,即指針數組。

3.2. int (* p)[5];
分析:
第一步:找核心,核心是p。
第二步:逐層剝離,p和誰結合?小括號優先級更高,所以p先和*結合成為指針,
第三步:繼續逐層剝離,*p這個指針再和數組結合,
第四步:得到結果,有一個指針,該指針指向一個數組,即數組指針。

4.一維指針int * 和數組指針int (*)[]的類型匹配問題
4.1.
int * p;
int a[5];
p = a; //類型匹配嗎?

別怕,我們來分析
(1)p和結合是指針,再和int結合,說明,p是一個指向int類型變量的指針,類型為int
(2)a是數組名,a做右值表示數組首元素的首地址,首元素是int類型,首元素的地址是int*類型。
(3)得出結論,p和a類型一致。都是int*類型的。

4.2.
int * p;
int a[5];
p = & a; //類型匹配嗎?

我們再來分析
(1)p和結合是指針,再和int結合,說明,p是一個指向int類型變量的指針,類型為int
(2)a是數組名,&a做右值表示整個數組的首地址,也就是一個指向數組的指針,即數組指針,其類型為 int(*)[]
(3)第三步:得出結論,p和&a類型不匹配,p的類型是int*,&a的類型是int(*)[]

5.二維指針int * * p1;和指針數組 int*p2[5];(實際中用的比較少,如果用到二維指針肯定是和指針數組連用)
5.1.指針數組
int *p[5];

分析:
第一步:p先和[]結合是數組,再和*結合,也就是數組里面的元素都是指針,也就是說,數組中的元素,p0,p1,p2,p3,p4,都是指針,那數組名p是什么類型?
第二步:數組名p做右值時表示整個數組的首地址,整個數組都是指針,那p就是指針的指針了,即p的類型是指向指針的指針,二重指針。
重要:二重指針就是指針數組指針
分析能力是很重要的,比學到知識本身重要,我們永遠不能學完所有的知識,但我們可以提高學習的效率。 學習本身比學習更總要。

另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

文章題目:數組指針和指針數組和二重指針-創新互聯
文章出自:http://vcdvsql.cn/article26/cscpcg.html

成都網站建設公司_創新互聯,為您提供標簽優化手機網站建設虛擬主機云服務器營銷型網站建設微信小程序

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

外貿網站建設