在c++中有時會遇到定義的比較複雜的變數,比如說指標和引用的符合型別。這時我們可以用從內到外,從左到右的方法去閱讀這個變數的方法搞清它的真實含義。
int val1 = 3;
int *p1 = &val1; // * 說明 p1 是乙個指標,p1指向了val1,int說明val1 是int型的
int &val2 = val1; // 同理, val2是乙個對val1的引用
int **p2 = &p1; // 離p2最近的*說明p2是乙個指標, p2指向了p1, int *說明p1
// 是int *型別的,即p1是指向int的指標
int ***p3 = &p2; // 離p3最近的*說明p3是乙個指標,而離p3較遠的int **則說明p3
// 所指的物件是int **型別的
cout << *p3
cout << ***p3
如何理解c和c 的複雜型別宣告
首先,讓我們看看指標與const結合的宣告 const int p p是指向常整形的指標 int const p 錯誤 int const p p是指向整形的常指標 const int const p p是指向常整形的常指標 怎麼樣?希望大家不會搞混吧,下面我會告訴大家如何去理解,但是寫到這裡,我突...
如何理解c和c 的複雜型別宣告
本文作者girlrong是網易廣州社群的c語言版 版主,這篇 文章被選在 精華區。很是不錯,不敢獨享!據說她樂於助人,虛心誠懇,頗受歡迎。只可惜現在已退隱江湖了。在最近學習c語言過程中,了解些前輩大牛的經驗看法 曾經碰到過讓你迷惑不解 類似於int fp1 int 10 這樣的變數宣告嗎?對上述 右...
C語言的一些複雜型別宣告
一些比較複雜的宣告例項 c primer plus中的例子 陣列後面的和函式名後面的 具有相同的優先順序,它們比 的優先順序高。都是從左往右結合。int board 8 8 int ptr 乙個指向指標的指標,每個元素都是乙個指向int的指標 int risk 10 內含10個元素的陣列,每個元素都...