c語言相比其他高級語言來說,更接近于對計算機硬件的操作,而指針的應用更是為我們對硬件的操作插上了翅膀,所以指針是嵌入式編程不可少的一部分,在一定意義上說,指針是c語言的精髓。
歡迎加入嵌入式學習群:559601187
一、 什么是指針
在計算機中,數據時存放在內存中的,而內存其實就是一組有序字節組成的數組,一般以一個字節為一個內存單元,每個字節都有唯一的地址。cpu通過尋址的方式去查找內存中某個變量的位置,我們知道定義變量就是向CPU申請一個某一類型的空間,這個空間也有自己的地址,同樣地址也需要一種類型去存儲,C語言規定用指針類型的變量去存儲地址類型。記住一點:指針就是地址,指針變量時存放地址類型的變量。
二、指針變量的定義
2.1 聲明并初始化一個指針
可以保存地址值的變量稱為指針變量,指針變量定義如下:
數據類型 * 變量名
這里的數據類型為基本數據類型、構造類型,指針變量的聲明比普通變量的聲明多了一個’ * ‘,運算符’ * '就是間接引用或間接尋址。例如:
int *p; // 聲明一個 int 類型的指針 p
char *p // 聲明一個 char 類型的指針 p
int *arr[10] // 聲明一個指針數組,該數組有10個元素,其中每個元素都是一個指向 int 類型對象的指針
int (*arr)[10] // 聲明一個數組指針,