陣列和指標 以及 指標和引用 的區別

2021-10-03 17:07:35 字數 809 閱讀 1069

1、概念不同2、空間分配:

陣列是靜態分配,且分配的空間是連續的;

指標是動態分配,分配的空間不一定是連續的。

3、大小不同(求sizeof)

陣列:陣列所佔儲存空間的記憶體:sizeof(陣列名)

陣列的大小:sizeof(陣列名)/sizeof(資料型別)

指標:在32位平台下,無論指標的型別是什麼,sizeof(指標名)都是4,在64位平台下,無論指標的型別是什麼,sizeof(指標名)都是8。

4、.安全性

使用陣列可能會造成陣列越界;

指標使用時可能會造成記憶體洩漏。

5、訪問效率:

陣列直接訪問資料;指標是間接訪問資料。

1、指標是變數,這個變數存放的是所指內容的位址。引用是別名,與所引用變數占用同一記憶體空間。

2、程式為指標變數分配區域,而不為引用分配記憶體區域。

3、指標可以是空,但是引用的值不能為空,在定義時必須得初始化。

4、 從現象上看:指標在執行時可以改變所指向的值,而引用一旦與某個物件繫結後就不再改變。意思是:指標可以被重新賦值以指向另乙個物件,但是引用則總是在初始化時被指定的物件,以後不能改變,但是指向的內容可以改變。

5.」sizeof引用」得到的是所指向的變數(物件)的大小,而」sizeof指標」得到 的是指標本身的大小

6、從理論上講,指標沒有級數限制,而引用只有一級。

7、都可以作為函式引數。引用的主要作用是傳遞函式的引數和返回值。

傳指標和傳引用的區別以及指標和引用的區別

一 引用 引用的定義 引用是給另外乙個變數其別名,所以引用不會分配記憶體空間,引用是引入了物件的乙個同義詞。例如 point pt1 10,10 point pt2 pt1 上述的 定義了pt2為pt1的引用。通過這樣的定義,pt2和pt1表示同一物件,需要特別注意的是,引用並不產生物件的副本,僅僅...

指標引用和引用指標的區別

c 在傳參的過程中,指標 和指標引用 是有區別的。雖然,我們往往可以通過傳指標然後通過間址訪問來修改指標所指向物件的值,同樣,通過引用也可以直接修改物件的值。但是,當傳指標的時候有乙個問題,就是,我們雖然可以通過指標來修改指標所指向物件的值,但是我們沒有不能直接修改指標的內容 也就是指標變數存放的位...

傳指標和傳指標引用的區別 指標和引用的區別(本質)

指標傳遞引數本質上是值傳遞的方式,它所傳遞的是乙個位址值。值傳遞過程中,被調函式的形式引數作為被調函式的區域性變數處理,即在棧中開闢了記憶體空間以存放由主調函式放進來的實參的值,從而成為了實參的乙個副本。值傳遞的特點是被調函式對形式引數的任何操作都是作為區域性變數進行,不會影響主調函式的實參變數的值...