C 中理解乙個複雜型別變數的真實含義

2021-09-23 15:56:16 字數 572 閱讀 5704

在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個元素的陣列,每個元素都...