用vs2012做asp網(wǎng)站/石家莊谷歌seo
1. 字符指針變量
2. 數(shù)組指針變量
3. ?維數(shù)組傳參的本質(zhì)
4. 函數(shù)指針變量
5. 函數(shù)指針數(shù)組
6. 轉(zhuǎn)移表
1. 字符指針變量
在指針的類型中我們知道有?種指針類型為字符指針 ?般使?: char*
這兩種方式都是把字符串中的首字符的地址賦值給pc。
在這串代碼中 str1內(nèi)容的地址與str2內(nèi)容的地址不同
而str3和str4是比較指針變量而非字符串??
因為str3和str4指向的是同一個常量字符串,并不會修改。所以相同的內(nèi)容不會村兩份。str3=srtr4
2. 數(shù)組指針變量.
2.1 數(shù)組指針變量是什么
我們知道
整形指針變量: int * pint; 存放的是整形變量的地址,能夠指向整形數(shù)據(jù)的指針。
浮點型指針變量: float * pf; 存放浮點型變量的地址,能夠指向浮點型數(shù)據(jù)的指針
數(shù)組指針變量該是:存放的應該是數(shù)組的地址,能夠指向數(shù)組的指針變量
思考:p1和p2是什么
p1是? p1[10]的類型是int* 變成存放指針的數(shù)組
而p2是先與*結(jié)合變成指針在指向[10]變成了數(shù)組指針。
2.2 數(shù)組指針變量怎么初始化
如果要存放個數(shù)組的地址,就得存放在數(shù)組指針變量中
3. ?維數(shù)組傳參的本質(zhì)
我們之前學過一維數(shù)組的數(shù)組名表示的是第一個的地址
而二維數(shù)組的數(shù)組名則表示第一行的地址
所以?維數(shù)組傳參本質(zhì)上也是傳遞了地址,傳遞的是第一行這個?維數(shù)組的地址,形參也可以寫成指針的形式
總結(jié):?維數(shù)組傳參,形參的部分可以寫成數(shù)組,也可以寫成指針形式
4. 函數(shù)指針變量
4.1 函數(shù)指針變量的創(chuàng)建
第一個int表示pf3 指向函數(shù)的返回類型? (*pf3)表示函數(shù)指針變量名(int x,int y)(x和y可以不寫)?pf3 指向函數(shù)的參數(shù)類型和個數(shù)的交代
4.2 函數(shù)指針變量的使用
分析一段代碼
0是int類型
void(*)()是把0強制轉(zhuǎn)換成void(*)()類型
前面的*是對0這個函數(shù)的解應用
(int, void(*)(int)??
int是函數(shù)類型
void(*)(int)是函數(shù)指針類型? ?兩個都是形參
signal是函數(shù)名稱
有兩個參數(shù)第一個是int類型第二個是void(*)(int)指針類型
void(*)(int) 返回 的是函數(shù)指針
4.3.1 typedef關(guān)鍵字
typedef 是?來類型重命名的,可以將復雜的類型,簡單化。
如
這里的p1是int* 類型 p2是int類型
而用prt_t定義的 p3和p4都是int * 類型
5. 函數(shù)指針數(shù)組
要把函數(shù)的地址存到?個數(shù)組中,那這個數(shù)組就叫函數(shù)指針數(shù)組
6. 轉(zhuǎn)移表
舉例:計算機
、
我們會發(fā)現(xiàn)這樣寫代碼有許多重復的。
使用函數(shù)指針數(shù)組實現(xiàn)