引用和指標

2021-08-15 11:05:08 字數 540 閱讀 4347

指標和引用的區別:

(1)指標是儲存位址的變數,指向記憶體的乙個儲存單元;引用是原變數的乙個別名

int a=1;int *p=&a;

int b=1;int &c=b;

第一行定義了乙個整型變數a,p為指標變數,指向a的記憶體位址,p的值是a存放的位址

第二行定義了乙個整型變數b,c為b的乙個引用,實際上b和c共用同乙個記憶體位址

(2)可以有const型別指標,但不存在const引用

(3)指標可以有多級,但是引用只能是一級(int **p合法,int &&a不合法)

(4)指標的值可以為null但是引用不可以,引用在定義時必須被初始化

(5)指標可以在初始化之後被改變指向其他的儲存單元,但是引用初始化後不能再改變

(6)sizeof(引用)是原變數的大小,sizeof(指標)是指標的大小

(7)指標和引用的自增(++)意義不同

(8)用指標進行引數傳遞,傳遞過來的是引數的位址;引用作為函式引數傳遞,實際上傳遞的是實參本身

指標和引用,const 指標和const 引用

指標和引用是在使用中經常弄混淆的兩個概念。引用 reference 為物件起了另外乙個名字,用符號 表示。name,例如 int i 1024 int ref i 一般在初始化變數時,初始值會被拷貝到新建立的物件中,然而定義引用時,程式把引用和它的初始值繫結 bind 在一起,而不是將初始值拷貝給引...

指標和引用

一 先看一段 include using namespace std void freeptr1 int p1 void freeptr2 int p2 void main 思考 在 freeptr1 和freeptr2 的比較中,你能發現它們的不同點嗎?二 對 進行解釋 include using...

指標和引用

指標與引用看上去完全不同 指標用操作符 和 引用使用操作符 但是它們似乎有相同的功能。指標與引用都是讓你間接引用其他物件。你如何決定在什麼時候使用指標,在什麼時候使用引用呢?首先,要認識到在任何情況下都不能使用指向空值的引用。乙個引用必須總是指向某些物件。因此如果你使用乙個變數並讓它指向乙個物件,但...