指標變數就是記錄位址的變數

2021-10-02 03:31:46 字數 967 閱讀 9918

就是儲存位址的變數

int i;

int* p =

&i;int

* p,q;

int*p,q; 注意*號可以靠近int也可以靠近p,表達的意思一樣都是,p是指標變數,q是int型別,沒有int

*型別

普通變數的值是是實際的值

指標變數的值是具有實際值的變數的位址

voidf(

int*p)

;在被呼叫的時候得到了某個變數的位址;

int i =0;

f(&i);

在函式裡面可以通過這個指標訪問外面的i;

#include

voidf(

int*p)

;int

main

(void

)voidf(

int*p)

&i =

0xbff17d70

p =0xbff17d70

兩者輸出一樣

*是乙個單目運算子,用來訪問指標的值所表示的位址上的變數

可以做右值也可以做左值

int k =

*p;*p = k +1;

#include

voidf(

int*p)

;int

main

(void

)voidf(

int*p)

輸出&i=

0x100000

p =0x100000

*p =

6i =

26//可以看到i的值改變了

為什麼

int i;

scanf

("%d"

,i);

編譯沒有錯

因為i和&i都是int 型別,

指標變數與變數位址

一 基本概念 儲存單元一般應具有儲存 資料和讀寫資料的功能,以8位二進位製作為乙個儲存單元,也就是乙個位元組。每個單元有乙個位址,是乙個整數 編碼,可以表示為 二進位制整數。程式中的變數和主儲存器的儲存單元相對應。變數的名字對應著儲存單元的位址,變數內容對應著 單元所儲存的資料。儲存位址一般用十六進...

變數的位址和指標

一 變數的位址和指標 計算機中有乙個硬體叫做記憶體條,當我提起這個硬體的時候往往都會說多大的。1g 2g 4g 這都是在說它的空間小,計算機中的記憶體都是以位元組為單位的一片連續的記憶體空間,每乙個位元組都有乙個編號,這個編號就稱為記憶體位址,如同旅館的房間一樣,單人間 雙人間等等,每個房間都有自己...

給指標變數賦值位址

1 給指標變數賦值 乙個指標變數可以可以通過不同的方式獲得乙個確定的位址值,從而指向乙個具體的物件 每當乙個指標中存放了乙個變數的位址的時候,我們就說這個指標指向了這個變數 int k 1,q,p q k 這時可以說,q指向了變數k q k 1 q k 1 這是錯誤的,指標q就是用來存放位址的,前面...