美女黄网站色视频国产免费_日韩中文在线青柠影院_久se在线观看视频_在线看片国产播放_高分电影在线观看免费_婬乱爆乳女教师波多野_日本黄色不卡视频_日韩新无码精品毛片视频_国产精品无码6080_伊人色欲综合网亚洲

新聞中心
News Center
首頁  >  新聞中心  >  技術文章
指針的概念
在計算機中,所有的數(shù)據(jù)都是存放在存儲器中的。一般把存儲器中的一個字節(jié)稱為一個內(nèi)存單元,不同的數(shù)據(jù)類型所占用的內(nèi)存單元數(shù)不等,如整型量占2個單元,字符量占1個單元等,在前面已有詳細的介紹。為了正確地訪問這些內(nèi)存單元,必須為每個內(nèi)存單元編上號。根據(jù)一個內(nèi)存單元的編號即可準確地找到該內(nèi)存單元。內(nèi)存單元的編號也叫做地址。既然根據(jù)內(nèi)存單元的編號或地址就可以找到所需的內(nèi)存單元,所以通常也把這個地址稱為指針。


內(nèi)存單元的指針和內(nèi)存單元的內(nèi)容是兩個不同的概念。 可以用一個通俗的例子來說明它們之間的關系。我們到銀行去存取款時,銀行工作人員將根據(jù)我們的帳號去找我們的存款單, 找到之后在存單上寫入存款、取款的金額。在這里,帳號就是存單的指針, 存款數(shù)是存單的內(nèi)容。對于一個內(nèi)存單元來說,單元的地址即為指針,其中存放的數(shù)據(jù)才是該單元的內(nèi)容。


在C語言中,允許用一個變量來存放指針,這種變量稱為指針變量。因此,一個指針變量的值就是某個內(nèi)存單元的地址或稱為某內(nèi)存單元的指針。



                                                                                            



圖中,設有字符變量C,其內(nèi)容為“K”(ASCII碼為十進制數(shù) 75),C占用了011A號單元(地址用十六進數(shù)表示)。設有指針變量P,內(nèi)容為011A,這種情況我們稱為P指向變量C,或說P是指向變量C的指針。


嚴格地說,一個指針是一個地址,是一個常量。而一個指針變量卻可以被賦予不同的指針值,是變量。但常把指針變量簡稱為指針。為了避免混淆,我們中約定:“指針”是指地址,是常量,“指針變量”是指取值為地址的變量。定義指針的目的是為了通過指針去訪問內(nèi)存單元。


既然指針變量的值是一個地址,那么這個地址不僅可以是變量的地址,也可以是其它數(shù)據(jù)結構的地址。在一個指針變量中存放一個數(shù)組或一個函數(shù)的首地址有何意義呢?


因為數(shù)組或函數(shù)都是連續(xù)存放的。通過訪問指針變量取得了數(shù)組或函數(shù)的首地址,也就找到了該數(shù)組或函數(shù)。這樣一來,凡是出現(xiàn)數(shù)組,函數(shù)的地方都可以用一個指針變量來表示,只要該指針變量中賦予數(shù)組或函數(shù)的首地址即可。這樣做,將會使程序的概念十分清楚,程序本身也精練,高效。


在C語言中,一種數(shù)據(jù)類型或數(shù)據(jù)結構往往都占有一組連續(xù)的內(nèi)存單元。用“地址”這個概念并不能很好地描述一種數(shù)據(jù)類型或數(shù)據(jù)結構,而“指針”雖然實際上也是一個地址,但它卻是一個數(shù)據(jù)結構的首地址,它是“指向”一個數(shù)據(jù)結構的,因而概念更為清楚,表示更為明確。 這也是引入“指針”概念的一個重要原因。(轉自電子產(chǎn)品世界)