c語言入門之 指標

2021-10-09 10:04:57 字數 1544 閱讀 9366

通過位址間接操作所指向的空間

二級指標

指標是一種資料型別,就像int 裝整型資料,float裝浮點型資料,指標裝位址資料。

int

*p;//

形式:型別+*+變數名組成

int a=

12;//賦值

int*p;

//賦值

p=&a;

//賦值

int*p=

&a;//初始化

printf

("%d,%d,%d"

,&p,p,

&a);

int

*p=&a;

//*p和下面的*p不一樣,第乙個是標記作用,代表它是指標

//讀printf

("%d,%d,%d"

,p,*p,a)

;//第二個表示記憶體操作運算子(可以讀寫取)

//寫*p=

145;

//a也變成145

printf

("%d,%d,%d"

,p,*p,a)

;//取位址

printf

("%p,%p,%p"

,p,*p,

&a);

p指向乙個變數,*p就是變數本身

p是指向空間的位址,&p是p變數自己的位址

double b=

123.123

;int

*p1=

&b;printf

("%lf,%lf\n"

,*p1,b)

;

這麼寫會出問題應該是:

double b=

123.123

;double

*p1=

&b;printf

("%lf,%lf\n"

,*p1,b)

;

乙個小範圍指標可以指向大位元組的空間,並且操作不異常,雖然結果有問題

但大範圍指標不可以指向小範圍空間,且操作異常,結果有問題

int a=12;

int*p=

&a;int

**p1=

&p

int a=12;

int*p=

&a;//二級指標

int*

*p1=

&p;//二級指標裝1級指標位址

int*

**p2=

&p1;

//**指標裝2級指標位址

system

("pause");

return

0;

指標變數有自己的位址

int *p1=p只能值傳遞,不能取p位址

應該是nt *p1=&p

二級指標與陣列無關

int

main

(void

)

C語言入門之 指標

存放位址的變數稱為指標變數。指標變數是一種特殊的變數,它不同於一般的變數,一般變數存放的是資料本身,而指標變數存放的是資料的位址。假設在程式中宣告了1個int型的變數a,其值為68。系統為變數a分配的首位址為0x65fdf4h,p a是存放變數a位址的指標變數,即p a中存放的值為0x065fdf4...

C語言入門之指標用法教程

對於c語言初學者來說,需要明白指標是啥?重點就在乙個 指 上。指啥?指的位址。啥位址?記憶體的位址。上面說明就是指標的本質了。這裡再詳細解釋下。資料存起來是要存在記憶體裡面的,就是www.cppcns.com在記憶體裡圈出一塊地,在這塊地里放想放的東西。變數關心的是這塊地里放的東西,並不關心它在記憶...

C語言 指標入門

在我年輕的時候,我三次鼓起勇氣學習c,三次都倒在了指標上 雖然很清楚指標是一種存放位址的變數,但是他具體是乙個什麼意思呢?我把整個空間看成乙個 n 1 維的空間。n 是資料型別,可能是int,char,double,等等。1 是位址。把位址看成一根數軸。舉個粒子 int pa int a 5 pa ...