c語言指標的簡單解釋

2021-09-18 05:48:26 字數 1333 閱讀 1008

c語言指標的簡單解釋

什麼是指標?

指標是指向乙個位址的變數,它是個變數,不完全等同於位址。

指標的作用是引用資料,為此需要兩個資訊:資料的起始位置和結束位置。

指標所指的位址是資料的起點,為了指明終點,需要用型別資訊說明此資料的寬度。

簡單的說,指標是乙個指向某記憶體位置,並且包含對所指物件的型別說明的變數。

下面用**稍作解釋。

1 #include 

2int

main

(int argc,

char

*ar**)

3

程式首先宣告了乙個char型別的變數a.然後宣告了幾個不同型別的指標,利用強制型別轉化,把它們都設定為變數a所在的位置。然後列印出這些指標的值.

結果如下:

請按 enter 或其它命令繼續

pa = 0xbfbf6ceb

pb = 0xbfbf6ceb

pc = 0xbfbf6ceb

pd = 0xbfbf6ceb

這說明不同型別的指標,可以指向同乙個記憶體塊。其後以何種方式訪問記憶體,則依賴於具體的型別說明。我們對程式稍作改動,對所有的指標+1:

1 #include 

2int

main

(int argc,

char

*ar**)

3

結果如下:

請按 enter 或其它命令繼續

pa = 0xbfbbed8b, pa+1 = 0xbfbbed8f

pb = 0xbfbbed8b, pb+1 = 0xbfbbed8c

pc = 0xbfbbed8b, pc+1 = 0xbfbbedef

pd = 0xbfbbed8b, pd+1 = 0xbfbbef7f

結果各不相同,說明對於乙個被幾個不同指標所指的記憶體區域,它將被以何種方式訪問依賴於具體的指標型別說明。就像鐘錶的分針和時針,分針一次移動一小格,時針一次移動一大格。分針移動60格的含義,等於時針移動1格,因為它們所代表的資料型別不同。要從1點訪問2點,只需要撥動一格時針,若用分針去說明一小時,則需要60個格仔。

指標是一種極為靈活的工具,它的原理十分簡單,使用起來又極易出錯。

因為除了基本型別,還可以構造無數種複雜型別,而使用指標要時刻注意所訪問的物件是何種型別。初學者覺得指標難,往往不是因為指標本身,而是因為c語言複雜宣告的語法問題。熟練掌握指標的唯一的辦法就是多練習,犯錯多了自然就會小心了。

指標主要是用來訪問資料的,它支援的運算很少。

一般只有賦值,跟整數加減等。

C語言中簡單的指標

指標是c語言的重要特徵,理解指標的關鍵點是要弄清楚資料型別這個概念。指標也是一種變數,它所表示的不是資料值,而是儲存著資料的記憶體位址。通過使用指標,可以對任意指定位址的資料進行讀寫。假設計算機上使用的程式32位 4位元組 的記憶體位址。這種情況下,指標變數的長度也是32位。下面,我們定義三種資料型...

C語言指標變數的簡單使用

指標簡單使用 指標兩種初始化方式 int a b 或者int a a b 有 a,b a b 左邊是位址,記憶體中的固定值不能被修改 1 有 a,b a b 報錯,整形變數不可以賦值指標變數 2 有 a,b,若a指向c,b指向d,a b 這樣做就相當於a是d的指標了 3 有 a,b,a b 報錯,指...

C 語言指標簡單了解使用

一 基本使用 1 輸出變數的位址,通過指標改變變數的值 includeint main 2 指標變數的定義 資料型別名 指標變數名 資料型別名 指標變數名 資料型別名 指標變數名 資料型別名 指標變數名 資料型別名 指標變數名 中間多個空格 資料型別名可以為任何資料型別,宣告了指標變數指向的記憶體空...