學(xué)習(xí)Turbo C語言,如果你不能用指針編寫有效、正確和靈活的程序,可以認為你沒有學(xué)好C語言。指針、地址、數(shù)組及其相互關(guān)系是C語言中最有特色的部分。規(guī)范地使用指針,可以使程序達到簡單明了,因此,我們不但要學(xué)會如何正確地使用指針,而且要學(xué)會在各種情況下正確地使用指針變量。
一、指針基本概念及其指針變量的定義
我們知道變量在計算機內(nèi)是占有一塊存貯區(qū)域的,變量的值就存放在這塊區(qū)域之中, 在計算機內(nèi)部, 通過訪問或修改這塊區(qū)域的內(nèi)容來訪問或修改相應(yīng)的變量。Turbo C語言中, 對于變量的訪問形式之一,就是先求出變量的地址,然后再通過地址對它進行訪問,這就是這里所要論述的指針及其指針變量。
所謂變量的指針, 實際上指變量的地址。變量的地址雖然在形式上好象類似于整數(shù), 但在概念上不同于以前介紹過的整數(shù), 它屬于一種新的數(shù)據(jù)類型, 即指針類型。Turbo C中,
一般用指針來指明這樣一個表達式&x的類型,而用地址作為它的值,也就是說, 若x為一整型變量, 則表達式&x的類型是指向整數(shù)的指針,而它的值是變量x的地址。同樣, 若double d;則&d的類型是指向以精度數(shù)d的指針,而&d的值是雙精度變量d的地址。所以,
指針和地址是用來敘述一個對象的兩個方面。雖然&x、&d的值分別是整型變量x和雙精度變量d的地址, 但&x、&d的類型是不同的, 一個是指向整型變量x的指針, 而另一個則是指向雙精度變量d的指針。在習(xí)慣上,很多情況下指針和地址這兩個術(shù)語混用了。
我們可以用下述方法來定義一個指針類型的變量。
int *ip;
首先說明了它是一指針類型的變量,注意在定義中不要漏寫符號*,否則它為一般的整型變量了。另外,在定義中的int 表示該指針變量為指向整型數(shù)的指針類型的變量, 有時也可稱ip為指向整數(shù)的指針。ip是一個變量, 它專門存放整型變量的地址。
指針變量的一般定義為:
類型標(biāo)識符 *標(biāo)識符;
其中標(biāo)識符是指針變量的名字, 標(biāo)識符前加了*號,表示該變量是指針變量, 而最前面的類型標(biāo)識符表示該指針變量所指向的變量的類型。一個指針變量只能指向同一種類型的變量, 也就是講, 我們不能定義一個指針變量, 既能指向一整型變量又能指向雙精度變量。
相關(guān)推薦:計算機等級考試二級C語言教程匯總北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |