c 之引用和指標的區別和聯絡

2021-09-30 14:23:32 字數 658 閱讀 6358

區別:

1 引用不能為空(必須初始化),指標可為空。

int &a; // error

int *a; // ok

2 引用關係一旦被建立,則不能被解除,而指標可以指向別人。

int x = 1, y = 2;

int &a = x;

a = y; // x = y = 2

執行後,x=2, y=2

int x = 1, y = 2;

int *a = &x;

a = &y;

執行後,x=1, y=2

聯絡:其實,引用的實現就是const型別的指標!但是c++不讓你知道這個指標的位址

因此:

int &*p // error, 不允許使用指向引用的指標
int *x = null;

int *&p=x; // 合法,p捆著的變數是int型的指標

void f(int &x){}; 不可傳入 f(3*i),而void f(const int &x)可傳入f(3*i),可見,i*3是作為乙個const型的臨時變數存在記憶體中。

C 指標和引用的區別與聯絡

標籤 c語言 c 指標引用 2016 08 13 11 05 79人閱讀收藏 舉報 c c 8 指標和引用在c 中很常用,但是對於它們之間的區別很多初學者都不是太熟悉,下面來談談他們2者之間的區別和用法。1.指標和引用的定義和性質區別 1 指標 指標是乙個變數,只不過這個變數儲存的是乙個位址,指向記...

指標和引用的聯絡與區別

相同點 1.都是位址的概念 指標指向一塊記憶體,它的內容是所指記憶體的位址 引用是某塊記憶體的別名。區別 1.指標是乙個實體,而引用僅是個別名 2.引用使用時無需解引用 指標需要解引用 3.引用只能在定義時被初始化一次,之後不可變 指標可變 4.引用沒有 const,指標有 const 5.引用不能...

指標和引用的聯絡與區別

指標和引用的聯絡與區別 相同點 1.都是位址的概念 指標指向一塊記憶體,它的內容是所指記憶體的位址 引用是某塊記憶體的別名。區別 1.指標是乙個實體,而引用僅是個別名 2.引用使用時無需解引用 指標需要解引用 3.引用只能在定義時被初始化一次,之後不可變 指標可變 4.引用沒有 const,指標有 ...