1.如果在程式中定義了乙個變數,在對程式進行編譯時,系統就會給這個變數分配記憶體單元。編譯系統根據程式定義的變數型別,分配一定長度的空間。例:整型變數2個位元組,字元變數乙個位元組。
2.記憶體區的每乙個位元組有乙個編號,這就是「位址」。相當於索引號,房間號,房間裡面可以存放資料。
3.區分記憶體單元的位址與記憶體單元的內容
4.在程式中一般是通過變數名來對記憶體單元進行訪問操作的。其實程式經過編譯以後已經將變數名轉換為變數位址,對變數值的訪問都是通過位址進行的。
5.按變數位址訪問變數值的方式稱為「直接訪問」;將變數i的位址存放到另乙個變數中,為「間接訪問」。
6.c語言中,將位址形象化地稱為「指標」。
7.乙個變數的位址稱為該變數的「指標」,如果有乙個變數專門用來存放另乙個變數的指標,則稱為「指標變數」。區分指標和指標變數,指標是位址,指標變數是存放位址的變數。
(二)變數的指標和指向變數的指標變數
1.變數的指標,即變數的位址;指標變數,即位址變數
2.因為程式中,使用變數名的時候,實質是操作變數名指向的內容。定義指標變數:int *pointer_1 和int i是同乙個意思,需要定義指標變數指向的變數的型別。
3.定義指標;基型別 *指標變數名 ,即指標變數名為位址,存的是頭位址,基型別表示占用的位元組數,*表示「指向」,「*位址」表示指向該位址的變數。
5.定義指標變數注意兩點:
(1)指標變數前面的「*」表示該變數的型別為指標型變數。指標變數名為pointer_1 ,而不是*pointer_1.
(2)在定義指標變數時必須指定基型別。因為每個位元組都有乙個位址,而指標變數存的是頭位址,還要指定占用的位元組數。
(3)只有整型變數的位址才能放到指向整型變數的指標變數中。即型別要保持一致,宣告指標變數的時候,要指定該指標用來存放的是何種基型別的位址。
(三)指標變數的引用
1.有兩個運算子:
(2)*:指標運算子,(或稱間接運算子),取其指向的內容。
例如&a為變數a的位址,*p為指標變數p所指向的儲存單元的內容。
C語言指標
指標變數是包含記憶體位址的變數,它指向記憶體中的一塊區域,通過指標的值,可以間接訪問到相應的記憶體單元的資料,並做相應的修改。1 指標的定義和簡單使用 定義乙個指標變數和定義一般的變數類似,只需在變數名前面加乙個 對乙個指標變數賦值可以用取位址符 來獲取到乙個變數的位址,如果要獲得指標指向的記憶體區...
C語言指標
1 定義指標變數void change int n 格式 變數型別 變數名 定義了乙個指標變數p 指標變數只能儲存位址 指標變數p前面的int 指標變數p只能指向int型別的資料 int main void change int n 2 指標與陣列 陣列名其實質是乙個指標,但是它和普通的指標變數還是...
c語言指標
編寫程式,在主函式裡用指標陣列輸入六個字串,再用另乙個函式對這六個字串排序,並在主函式中輸出排好序的字串。include void sort char s,int n char temp for int i 0 ifor int j 0 jif strcmp s j s j 1 0 temp s j...