C 指標 指標變數

2021-09-27 08:22:34 字數 1990 閱讀 5423

三、* 和 & 小結

四、指標變數的運算

指標變數:存放指標的變數,本質上是乙個整數。

指標所指向的值,可以是任何型別資料,如陣列、字串、函式或普通變數、指標變數。

定義指標變數與定義普通變數非常類似,不過要在變數名前面加星號*

datatype *name;
或者

datatype *name = value;
*表示這是乙個指標變數,表示該指標變數所指向的資料的型別 。

int

*p1;

p1 是乙個指向 int 型別資料的指標變數,至於 p1 究竟指向哪乙份資料,由賦予它的值決定。再如:

int a =

100;

int*p_a =

&a;

和普通變數一樣,指標變數也可以被多次寫入。隨時都能夠改變指標變數的值。

//定義普通變數

float a =

99.5

, b =

10.6

;char c =

'@', d =

'#';

//定義指標變數

float

*p1 =

&a;char

*p2 =

&c;//修改指標變數的值

p1 =

&b;p2 =

&d;

指標變數也可以連續定義,注意每個變數前面都要帶*

int

*a,*b,

*c;//a、b、c 的型別都是 int*

*pointer;
使用

#include

intmain()

int a =

15, b =

99, c =

222;

int*p =

&a;//定義指標變數

*p = b;

// 通過指標變數修改記憶體上的資料,將 b的值付給了 p 指向位址的值,顧 a = 99

c =*p;//通過指標變數獲取記憶體上的資料

printf

("%d, %d, %d, %d\n"

, a, b, c,

*p);

// 99, 99, 99, 99

*p代表的是 a 中的資料,它等價於 a,可以將另外的乙份資料賦值給它,也可以將它賦值給另外的乙個變數。

int

*p;p =

&a;// p 前面就不能加*。

*p =

100;

指標變數加減運算的結果跟 資料型別的長度有關

#include

intmain()

else

return0;

}

&a=

0x28ff44

,&b=

0x28ff30

,&c=

0x28ff2b

pa=0x28ff44

, pb=

0x28ff30

, pc=

0x28ff2b

pa=0x28ff48

, pb=

0x28ff38

, pc=

0x28ff2c

pa=0x28ff40

, pb=

0x28ff28

, pc=

0x28ff2a

2686784

比較的是資料的位址

不能對指標變數進行乘法、除法、取餘等其他運算,除了會發生語法錯誤,也沒有實際的含義。

c語言指標 指標和指標變數

指標是c語言中乙個重要的概念,也是c語言的重要角色。可以說指標是c的精華所在,學習指標雖然不易,但是只要肯花上時間去反覆的理解和實踐,就一定可以很好的掌握它。一 指標是什麼 指標到底是什麼?我們先舉乙個例子。假設我們在火車站 附近開了一家賓館,這家賓館有三千多間屋子,為了方便管理,我們給每個房間都加...

c 指標變數

指標是c語言的精華部分,通過利用指標,我們能很好地利用記憶體資源,使其發揮最大的效率。有了指標技術,我們可以描述複雜的資料結構,對字串的處理可以更靈活,對陣列的處理更方便,使程式的書寫簡潔,高效,清爽。但由於指針對初學者來說,難於理解和掌 握,需要一定的計算機硬體的知識做基礎,這就需要多做多練,多上...

C 指標變數

a detailed introduction to c pointer variable,maybe helpful guderian出品 想獲得更佳閱讀體驗?戳 對指標變數的型別說明,一般形式為 型別說明符 變數名 其中,表示這是乙個指標變數,變數名即為定義的指標變數名,型別說明符表示該指標變數...