指针 总结
本章主要講解了一種特殊的變量類型──指針。
指針也是一種數(shù)據(jù)類型,指針變量用來(lái)存放地址而不是普通數(shù)據(jù)。注意區(qū)分地址與指針的區(qū)別,雖然指針也是地址,但是指針是一種數(shù)據(jù)類型。
使用指針可以使寫出來(lái)的程序運(yùn)行效率有極大的提高,并增加了程序設(shè)計(jì)的靈活性。指針可以與變量、數(shù)組、字符串、函數(shù)結(jié)合起來(lái)使用。
指針變量是存放的變量,變量指針是指變量的地址。定義指針變量時(shí),指針變量前面的*只是說(shuō)明該變量是指針類型;在引用指針變量時(shí),*表示取指針變量所指向的內(nèi)容。*與&是兩個(gè)互逆的運(yùn)算符,一個(gè)是取指針變量的內(nèi)容,一個(gè)是取變量的地址。指針變量作為函數(shù)參數(shù)時(shí),傳遞的是地址。
指針變量可以指向數(shù)組中的某個(gè)元素,也可以指向某一行數(shù)組。如果指針變量指向數(shù)組中的某一行,這樣的變量稱為行指針變量,這兩種指針變量都稱為數(shù)組指針。
函數(shù)指針是指向函數(shù)的指針,通過(guò)使用函數(shù)指針,可以調(diào)用指針?biāo)赶虻暮瘮?shù)。函數(shù)指針也可以作為函數(shù)的參數(shù),如C語(yǔ)言提供的快速排序qsort函數(shù)中的參數(shù)compare就是一個(gè)函數(shù)指針。
指針數(shù)組指的是數(shù)組中存放的是指針,即數(shù)據(jù)元素都是地址。二級(jí)指針是指向指針的指針,用兩個(gè)*表示。二級(jí)指針一般是在要修改一級(jí)指針為形式參數(shù)的情況下使用。
在處理多個(gè)字符串時(shí),通常使用字符指針數(shù)組存放字符串,這樣可以節(jié)省內(nèi)存單元。在帶參數(shù)的main函數(shù)中,形式參數(shù)中的字符數(shù)組argv存放命令行的各個(gè)參數(shù)。
指針極大地豐富了C語(yǔ)言的功能。每一個(gè)專業(yè)的C程序員必須學(xué)會(huì)靈活使用指針。但是對(duì)于初學(xué)者來(lái)說(shuō),指針較難理解和掌握,需要大家多思考、多上機(jī)、勤動(dòng)手,才能盡快地掌握指針。
摘自 《C語(yǔ)言程序設(shè)計(jì)》,清華大學(xué)出版社,陳銳 編著總結(jié)
- 上一篇: VB 金额大小写转换(两种方法)
- 下一篇: 乔布斯时代结束