指標學習筆記

2021-07-26 10:26:28 字數 644 閱讀 7912

記憶體位址所指向的是當前儲存資料的首位址,資料型別所指向的是當前儲存資料的長度(占用多大的記憶體空間)。

指標是一種資料型別,也需要占用記憶體空間,它的屬性是指向乙個資料型別的首位址和長度。指標儲存的是位址,長度取決於指標的型別。

在32位系統下,指標占用的空間為32bit(4byte);在64位系統下,指標占用的空間為64bit(8byte)。

指標的用處:

1.函式傳遞引數時,使用指標能節省記憶體空間,提高程式效率。例:myclass類占用500byte,而myclass *只占用4byte。

2.跨函式的值修改時,使用指標能完成。例:

void swap(int a,int b)

int main()

其中swap(x,y);並不能交換x和y的值,要使用指標進行交換,如下所示:

void swap(int *a,int *b)

int main()

3.進行資料結構的構造,如陣列本身就是乙個const 類的指標,另外鍊錶、二叉樹等資料結構也要用到指標。

#include "stdafx.h"

#include

#include

void swap(void * a ,void * b ,size_t size)

int main()

指標學習筆記

1 指標是什麼?要想明白指標的含義,首先應該明白變數在記憶體中是如何儲存的,如何讀取的。記憶體中每個記憶體單元都有乙個位址,這好比旅館中每個房間,都有唯一的房間號。至於記憶體單元中到底存放的是什麼內容,那是我們定義的變數。當我們定義乙個變數時,系統會根據我們宣告的資料型別而為變數分配適當的儲存空間。...

this指標學習筆記

1.this指標的用處 乙個物件的this指標並不是物件本身的一部分,不會影響sizeof 物件 的結果。this作用域是在類內部,當在類的非靜態成員函式中訪問類的非靜態成員的時候,編譯器會自動將物件本身的位址作為乙個隱含引數傳遞給函式。也就是說,即使你沒有寫上this指標,編譯器在編譯的時候也是加...

指標學習筆記

指標基本宣告與使用 int num 1 int pnum int nums 5 int pnums nums int p newint 10 p 10 cout pnum pnum endl pnums pnums endl p p endl delete p 將指標置為空 pnum 0 int z...