C 記憶體與指標

2022-06-11 17:18:12 字數 1196 閱讀 4064

1

int year; year = 1000

; (記憶體位址在0028ff44)23

int * ptr_year; //

int * 即宣告了乙個指標型變數,指標是乙個變數,儲存的是乙個變數的位址。45

//在宣告語句中,可以把 " * " 看作是指標的型別

67 ptr_year = &year //

&取變數的位址,即ptr_year == 0028ff44;

而在非宣告語句中,* ptr_year是指抄老底,直接對此指標指向的變數進行更改

1

int * ptr_year; //

宣告語句

23 * ptr_year = 1001

//非宣告語句 ,相當於year = 1001

45

指標初始化:

nullptr(暫存器常量)

void* ptr   :特殊型別的指標型別,它可以存放任意物件的位址。

指標還可以加減,如陣列中,

1 #include 2

3using

namespace

std;

4int

main()

5 ;//

英文符號是紅色,中文是粉色!

6double *ptr;

7 ptr = &int_v[0

];8 ptr += 1

;9 cout << *ptr << endl; //

輸出 10

1011 }

陣列名其實就是陣列首元素的位址,int_v =&int_v[0]//陣列名其實就是指向陣列首元素的指標

引用(&):實質是指標功能的封裝。

1 #include 2 #include 3 #include 4

5using

namespace

std;

6int

main()

7 17

C指標與記憶體

指標是c c 中重要的構造型別,指標賦予了 c c 程式直接訪問和修改記憶體的能力。c c 的許多重要應用,如編譯 os 嵌入式開發都依賴於這種能力。馮諾依曼體系的計算機記憶體儲存指令和資料,我們可以將其抽象為指令區和資料區 當然實際情況要複雜得多 資料區中包含棧 stack 和堆 heap 區,棧...

指標與記憶體

char 乙個位元組 double 8個位元組 int 4個位元組 short 2 個位元組 fioat 4個位元組 將記憶體條抽象成乙個很大的一維字元陣列,對記憶體條中的每乙個位元組分配乙個32位或64位的編號 與32位或64位處理器相關 這個編號我們稱之為記憶體位址。定義乙個變數,用來儲存記憶體...

記憶體與指標 陣列與指標

陣列指標 行指標 型別識別符號 變數名 個數 陣列指標指向乙個提取的陣列,本質為指標 定義 int p n p是乙個指標,指向乙個整型的一維陣列,這個一維陣列的長度是n,也可以說是p的步長。也就是說執行p 1時,p要跨過n個整型資料的長度。陣列指標的步長必須和它指向的二維陣列的列長相同!p 2 相當...