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 指標變數的定義 資料型別名 指標變數名 資料型別名 指標變數名 資料型別名 指標變數名 資料型別名 指標變數名 資料型別名 指標變數名 中間多個空格 資料型別名可以為任何資料型別,宣告了指標變數指向的記憶體空...