前面在講變量的時候,其中有一個特點就是變量的內存地址,即:變量在內存中實際的保存位置。這個內存地址如何獲取?它又有什麼意義?
這就涉及到本文要講到的第一個核心概念:指針。重點包括:指針處理一維數組、動態內存分配等。
C語言的基本數據類型中有一個char的關鍵詞,可以存儲單個的字符。那麼,像漢字以及由多個字符組成的內容,又該如何存儲呢?
這點將涉及到本文第二個核心知識點:字符串及其常規操作。重點包括:字符串處理函數、指針與字符串的關係等。
在計算機二級C語言考試中,很多題目都應用到了指針、字符串、數組、函數等很多知識點糅合在一起的考題。主要考察考生的綜合實際操作能力,實踐性很強。比如:分別統計字符串中大寫字母和小寫字母的個數。給定子函數,傳入指針參數,要求實現相應的功能。
void fun(char *s,int *a, int *b){}
備註:有關函數知識點的梳理放在下一篇(第五篇)講解。
01指針
類似於時鐘錶盤的時分秒的指針,每時每刻都會指向一個數字,表示此刻的時間。亦或是地圖,通過地圖可以確定我們當前的位置,以及需要達到的目標位置。
1、指針
具有指向性,專門存放其他變量的內存地址。
它其實也是一個變量,也有類型的區分。
2、指針運算
包含一個&和一個*,兩者為互逆運算,就像加減法、乘除法操作一樣。
&——獲取變量的內存地址,*——獲取指針所指向變量的內容。
3、指針可以做什麼?
C語言中使用指針可以:
方便地使用字符串有效地表示複雜的數據結構動態分配內存得到多於一個的函數返回值