C語言複習 指標

2021-09-19 06:31:44 字數 1380 閱讀 7358

1.什麼是指標

我們把位址形象化的稱為「指標」,意思是通過他可以找到以他為位址的記憶體單元。

指標是乙個特殊的變數,它裡面儲存的數值被解釋成為記憶體裡的乙個位址。要搞清乙個指標需要搞清指標的四方面的內容:指標的型別、指標所指向的型別、指標的值或者叫指標所指向的記憶體區、指標本身所佔據的記憶體區。讓我們分別說明。

2.定義指標變數

定義指標變數的一般形式為:

型別名 * 指標變數名

例:

int *prt1     //prt1是指向int型別的指標變數,簡稱int指標

char * ptr2 //prt2是指向int型別的指標變數,簡稱char指標

注意:

(1)指標變數前的「 * 」表示該變數為指標型變數。

(2)在定義指標變數時必須指定基型別,因為不同型別的資料在記憶體中所佔的記憶體和儲存方式不同。

3.指標的型別

從語法的角度看,你只要把指標宣告語句裡的指標名字去掉,剩下的部分就是這個指標的型別。這是指標本身所具有的型別。讓我們看看例一中各個指標的型別:

(1)int*ptr;//指標的型別是int*

(2)char*ptr;//指標的型別是char*

(3)int**ptr;//指標的型別是int**

(4)int(*ptr)[3];//指標的型別是int(*)[3]

(5)int*(*ptr)[4];//指標的型別是int*(*)[4]

4.指標所指向的型別

當你通過指標來訪問指標所指向的記憶體區時,指標所指向的型別決定了編譯器將把那片記憶體區里的內容當做什麼來看待。

從語法上看,你只須把指標宣告語句中的指標名字和名字左邊的指標宣告符*去掉,剩下的就是指標所指向的型別。例如:

(1)int*ptr; //指標所指向的型別是int

(2)char*ptr; //指標所指向的的型別是char

(3)int**ptr; //指標所指向的的型別是int*

(4)int(*ptr)[3]; //指標所指向的的型別是int()[3]

(5)int*(*ptr)[4]; //指標所指向的的型別是int*()[4]

在指標的算術運算中,指標所指向的型別有很大的作用。

5.怎麼引用指標變數(2)引用指標變數指向的變數

如果以指行了「p = &a」,則

printf("%d",*p);

其作用是以整型形式輸出指標變數p所指向的變數值,即變數a的值。

include

int main()

C語言複習 指標

程式設計練習 1.用指標實現報數問題 用指標的方法解決3人報數問題 include int main i k m 0 i是陣列計數,k是迴圈3次計數,m是退出的人計數 while m n 1 n是總人數,退出的人數要比總人數少乙個人結束迴圈 if k 3 i if i n 如果i到了成員最後,返回最...

c語言複習 指標

注 本文是對蘇小紅版c語言教材第9章的筆記 間接定址運算子 解引用運算子 e.g.int pa a 用於指標變數的定義 int a 0 printf a is d,a is p,pa is p,pa is d a,a,pa,pa 用於讀取指標變數儲存的位址對應的變數的值輸出結果 a與pa相同,a與p...

C語言複習 指標

一 指標是什麼 1.由於通過位址可以找到所需的變數單元,即位址指向變數單元,則可將位址形象化地稱為 指標 二 怎樣定義指標變數 1.定義指標變數的一般形式 型別名 指標變數名 例如 int a,int pointer 1,float pointer 2,char pointer 3。2.在定義指標標...