C 學習筆記 引用

2021-09-16 13:16:09 字數 1364 閱讀 7663

引用是c語言中沒有,而在c++中又很重要的乙個概念,通過應用,可以得到變數本身,相對於得到變數的值而言,有更大的操作空間。

變數的本質

變數名實質上是一段連續儲存空間的別名,是乙個標號

程式中通過變數來申請並命名記憶體空間

通過變數的名字可以使用儲存空間

引用是c++的概念,屬於c++編譯器對c的擴充套件

int main()

引用的概念
int main()

int swap(int *a, int *b)

普通引用擁有自己的記憶體空間,有位址,是乙個常量,相當於乙個常指標,char *const p
struct teacer ;

int main()

引用的本質

type& name <=> type* const name
void func(int &a)

void func(int *const a)

當函式返回值為引用時,若返回棧變數,不能成為其它引用的初始值,不能作為左值使用。若返回靜態變數或全域性變數,可以成為其他引用的初始值,即可作為右值使用,也可作為左值使用。c++鏈式程式設計中,經常用到引用

當實參傳給形參引用的時候,只不過是c++編譯器幫我們程式設計師手工取了乙個實參位址,傳給了形參引用(常量指標)

const引用(使用變數初始化const引用)

在c++中可以宣告const引用

const type& name = var;
const引用讓變數擁有唯讀屬性

int a = 10;

const int &b = a;

此時便不可以使用b來修改a的值了,只能使用a自身和指標。

const引用(使用字面量常量初始化const引用)

int main()

當使用常量(字面量)對const引用進行初始化時,c++編譯器會為常量值分配空間,並將引用名作為這段空間的別名

使用常量對const引用初始化後將生成乙個唯讀變數

const引用總結

const&相當於const int * const e

普通引用相當於int *const e

int& func1()

int& func2()

int main()

c 學習筆記 引用

引用 引入物件的乙個同義詞,不會產生新的物件!例如 point p1 m,n point p2 p1 p2為p1的同義詞,改變p2的同時也會改變p1,但是編譯器並沒有給p2單獨分配記憶體,他和p1是共用一塊記憶體的!引用和const一樣,必須馬上初始化 例如如下類 class point publi...

C 學習筆記 引用

引用,reference 在本質上就是指標,從建立開始,就與目標繫結 指標定義 int a 123 int p a 稱作 p指向了變數a 引用定義 int a 123 int r a 引用的定義 稱作 r是變數a的引用 r引用了變數a 和指標是乙個意思 指標的使用 int a 123 int p a...

C 引用學習筆記

作用 給變數起別名 語法 資料型別 別名 原名 如 int a 10 int b a 其中a與b是等效的,兩者指向的位址空間是一樣的 主要有兩點 1.引用前必須初始化 2.引用在初始化後,不可以改變 原因在引用的實質中會講到 作用 函式傳參時 可以利用引用的技術讓形參修飾實參 優點 可以簡化指標實參...