C 之 與 符號用法案例詳解

2022-09-27 04:15:16 字數 838 閱讀 8275

指標是一塊記憶體的位址值,而引用是一塊記憶體的別名。

從概念上講。指標從本質上講就是存放變數位址的乙個變數,在邏輯上是獨立的,它可以被改變,包括其所指向的位址的改變和其指向的位址中所存放的資料的改變。

而引用是乙個別名,它在邏輯上不是獨立的,它的存在具有依附性,所以引用必須在一開始就被初始化,而且其引用的物件在其整個生命週期中是不能被改變的(自始至終只能依附於同乙個變數)。

引用:下面附上一段**以便理解抽象的概念:

#include

#include

using namespace std;

int main()

從圖中我們可以看出:

d=c並不改變d的位址,且d與b位址相同,

所以引用不能重新繫結並非意味不能 重新賦值,重新賦值只代表引用初始化時所繫結物件重新賦值

而指標p1則在指向a的位址後可重新指向c的位址,p1所指物件也隨之改變。

例如int i=4;

int *p=&i;

左側的*可看做與int一起組成的復合型別 int *,代表指向實數型別的指標

而右側的&則為取位址符,p指向i的位址。

除了在定義語句中,一般情況下

int a = 5, b = 10;

int *p;

p = &a;

p = &b; //p指向b(取b的位址)

*p = 2; //*p相對於b,即b=2

注意:只有對指標的引用,沒有指向引用的指標!(因為引用本身不是物件)

一句話原則:從右向左讀,越靠近變數的符號越說明其本質

eg:int *&r=p;

&說明r的型別是引用,*說明 這個引用 是對指標的引用。

C odr用法案例詳解

the main module.file odr test1.cpp include void module1 print declaration of an exeternal function inline int f1 class a const double c 4.2 constexpr ...

MFC LoadImage用法案例詳解

目錄 handle loadimage hinstance hinst,若引導程式外部資源傳null,否則一般傳afxgetinstancehandle lpctstr lpszname,名稱或全路徑 uint utype,型別 image bitmap或image icon或image curso...

C pictureBox用法案例詳解

picturebox 控制項可以顯示來自位圖 圖示或者元檔案,以及來自增強的元檔案 jpeg 或 gif 檔案的圖形。如果控制項不足以顯示整幅圖象,則裁剪圖象以適應控制項的大小。展示了控制項的sizemode四種格式 最好的應該是zoom,在不發生形變的條件下,對進行縮放。sizemode auto...