指標和引用的區別,C 中指標和引用的區別詳解

2022-02-09 04:10:24 字數 2767 閱讀 2384

1樓:匿名使用者

1) 引用必須被初始化,指標不必。

2) 引用初始化以後不能被改變,指標可以改變所指的物件。

3) 不存在指向空值的引用,但是存在指向空值的指標。

2樓:匿名使用者

指標是一個變數的地址,

引用是一個變數的別名。

例:int a=10;//a存放在儲存空間的地址為:0x000009int &b=a;//b就是a的引用,此時b 的值也為10int *ptra=&a;//ptra就是a的指標,其值為0x000009

3樓:匿名使用者

1. 指標是一個實體,而引用僅是個別名;

2. 引用使用時無需解引用(*),指標需要解引用;

3. 引用只能在定義時被初始化一次,之後不可變;指標可變;

引用「從一而終」 ^_^

4. 引用沒有 const,指標有 const,const 的指標不可變;

5. 引用不能為空,指標可以為空;

6. 「sizeof 引用」得到的是所指向的變數(物件)的大小,而「sizeof 指標」得到的是指標本身(所指向的變數或物件的地址)的大小;

typeid(t) == typeid(t&) 恆為真,sizeof(t) == sizeof(t&) 恆為真,但是當引用作為類成員名稱時,其佔用空間與指標相同4個位元組(沒找到標準的規定)。

7. 指標和引用的自增(++)運算意義不一樣;

4樓:超級

引用:從變數上面「引」出一個針或者更加形象一點叫「拉」,一個變數可以引出的無限的針。

指標:用一個針刺向一個變數,一次只能刺向一個變數。

可以總結一下:不論是指標也好,引用也罷,都不過是一個針罷了。所謂的針其本質都是地址的記錄器。

需要注意的是引用和變數是連為一體的,引用產生於變數,不像指標那樣可以單獨分開。

5樓:匿名使用者

引用就是那個變數本身 ,指標是指向變數的地址

6樓:豚胖

★ 相同點:

1. 都是地址的概念;

指標指向一塊記憶體,它的內容是所指記憶體的地址;引用是某塊記憶體的別名。

★ 區別:

1. 指標是一個實體,而引用僅是個別名;

2. 引用使用時無需解引用(*),指標需要解引用;

3. 引用只能在定義時被初始化一次,之後不可變;指標可變;

4. 引用沒有 const,指標有 const;

5. 引用不能為空,指標可以為空;

6. 「sizeof 引用」得到的是所指向的變數(物件)的大小,而「sizeof 指標」得到的是指標本身(所指向的變數或物件的地址)的大小;

7. 指標和引用的自增(++)運算意義不一樣;

8.從記憶體分配上看:程式為指標變數分配記憶體區域,而引用不需要分配記憶體區域。

詳細的請看參考資料

c++中指標和引用的區別詳解

7樓:匿名使用者

1. 指標是一個實體,而引用僅是個別名;

2. 引用使用時無需解引用(*),指標需要解引用;

3. 引用只能在定義時被初始化一次,之後不可變;指標可變;

引用「從一而終」 ^_^

4. 引用沒有 const,指標有 const,const 的指標不可變;

5. 引用不能為空,指標可以為空;

6. 「sizeof 引用」得到的是所指向的變數(物件)的大小,而「sizeof 指標」得到的是指標本身(所指向的變數或物件的地址)的大小;

typeid(t) == typeid(t&) 恆為真,sizeof(t) == sizeof(t&) 恆為真,但是當引用作為類成員名稱時,其佔用空間與指標相同4個位元組(沒找到標準的規定)。

7. 指標和引用的自增(++)運算意義不一樣;

c語言中指標和引用的區別

8樓:匿名使用者

指標,全稱為指標變數,是用來儲存記憶體地址的一種變數。程式中,一般通過指標來訪問其指向的記憶體地址中的內容(資料)。

引用,是c++中提出來的一種新的使用變數的方式,即,給實際變數起個別名,通過這個別名來引用實際的變數。標準c中不支援變數的引用。

這兩個概念沒有任何相關性。

指標是實實在在的變數,有自己的記憶體儲存空間,它可以指向任何有效的變數。

引用是一種形式、方法,定義的引用變數,實際上是原實際變數的另一個名稱(別名),引用變數本身沒有自己的實際儲存空間,操作引用變數,就是在操作實際變數。如:

9樓:匿名使用者

我建議你還是去看看 c++primer 這本書,專門有一小節是講指標和引用的區別的。

大師的書才是真理,別在這裡被誤導了~~~~

10樓:軍軍

引用是c++中才加入的概念。

區別/指標和引用的區別

11樓:湖南萬通汽車學校

指標指向一塊記憶體,它的內容是所指記憶體的地址;引用

是某塊記憶體的別名。指標版

是一個實體,而引用僅是個別名權;引用使用時無需解引用(*),指標需要解引用;引用只能在定義時被初始化一次,之後不可變;指標可變; 引用沒有 const,指標有 const;引用不能為空,指標可以為空;「sizeof 引用」得到的是所指向的變數(物件)的大小,而「sizeof 指標」得到的是指標本身(所指向的變數或物件的地址)的大小;指標和引用的自增(++)運算意義不一樣;從記憶體分配上看:程式為指標變數分配記憶體區域,而引用不需要分配記憶體區域。

c語言中指標和引用的區別,C語言中指標和引用的區別

指標,全稱為指標變數,是用來儲存記憶體地址的一種變數。程式中,一般通過指標來訪問其指向的記憶體地址中的內容 資料 引用,是c 中提出來的一種新的使用變數的方式,即,給實際變數起個別名,通過這個別名來引用實際的變數。標準c中不支援變數的引用。這兩個概念沒有任何相關性。指標是實實在在的變數,有自己的記憶...

C 中引用與指標的區別,請簡述c 中引用和指標的區別

c 中指標與引用的區別 1.定義和性質的區別 1 指標 指標是一個變數,只不過這個變數儲存的是一個地址,指向記憶體的一個儲存單元 而引用跟原來的變數實質上是同一個東西,只不過是原變數的一個別名而已。如 int a 1 int p a int a 1 int b a 上面定義了一個整形變數和一個指標變...

C引用返回值與返回指標

int d c 也就是 d就等效於c了啊 也就是return d 就等效於 return c d是指標d指向的資料,你的寫法中,指標d指向了引用c的位置,其實也就是傳入實參a的地址空間上的資料,故而是一直存在且可以正確返回的。如果你在k 函式內部不是使用傳輸的c 也就是換個變數名,什麼都行 那自然就...