国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

C/C++編程筆記:「C語言指針」民間解讀版本,最通俗的知識(shí)剖析

2020-08-17 21:38 作者:C語言編程__Plus  | 我要投稿

相信很多同學(xué)在初學(xué)C語言時(shí)候,都會(huì)遇到遇到一個(gè)問題:指針,永遠(yuǎn)的神!


好消息,這個(gè)痛點(diǎn)將會(huì)在這篇文章得到解決,媽媽再也不用擔(dān)心我的學(xué)習(xí)了!

一說指針,第一反應(yīng),指針是一種數(shù)據(jù)類型。

c語言學(xué)習(xí),重點(diǎn)就是兩個(gè),一個(gè)是數(shù)據(jù)的數(shù)據(jù)類型,一個(gè)就是程序的結(jié)構(gòu)。

整個(gè)C語言學(xué)習(xí)體系,在初學(xué)階段就接觸基本數(shù)據(jù)類型,整型實(shí)型字符型;然后是三大基本結(jié)構(gòu)順序循環(huán)分支,隨后的內(nèi)容幾乎都是對數(shù)據(jù)類型的擴(kuò)充結(jié)構(gòu)體 指針 鏈表 數(shù)組……


那么數(shù)據(jù)類型是什么?

數(shù)據(jù)類型就表示它能夠存儲(chǔ)什么類型的數(shù)據(jù),整型有什么用呢?我在什么情況下需要使用一個(gè)int x呢?簡單,你想獲取一個(gè)存儲(chǔ)單元,用于存儲(chǔ)一個(gè)整型數(shù)據(jù);同理,你定義一個(gè)實(shí)型是為了獲取一個(gè)范圍那么大,精度那么多的一個(gè)實(shí)型變量。

那么指針是一種什么類型的變量呢?什么情況下我需要定義一個(gè)指針,我要用這個(gè)指針存儲(chǔ)什么樣子的數(shù)據(jù)?


只要有數(shù)據(jù)類型,就要想:這種類型怎么定義,這種數(shù)據(jù)類型存儲(chǔ)什么形式的數(shù)據(jù)。

指針,用于保存某個(gè)單元的地址,你只要想存儲(chǔ)某個(gè)單元的地址,你就需要定義一個(gè)指針,接著,你存一個(gè)地址的目的是什么?是要對一個(gè)單元進(jìn)行間接訪問。

訪問單元的方式就是兩種:直接訪問和間接訪問。


直接訪問就是直接使用變量名,系統(tǒng)就會(huì)找到這個(gè)變量所在的單元,對他進(jìn)行或讀或?qū)懖僮鳌?/p>

只要你在表達(dá)式使用了變量名,系統(tǒng)就會(huì)通過名字找到他所在的單元,找到做什么?或讀或?qū)懀降资亲x還是寫,取決于變量名所在的位置,如果出現(xiàn)在賦值號左邊,就是寫入一個(gè)值,如果是打印到屏幕上,就是進(jìn)行讀。

對于間接訪問,先要定義一個(gè)指針,然后用這個(gè)指針指向你想要訪問的單元,在指針變量名前面加一個(gè)*術(shù)語叫做間接運(yùn)算符,可以把指針指向的內(nèi)容表示出來。

為什么要使用間接訪問?

使用變量名直接訪問單元,它不香嗎?為什么要引入間接訪問,使用間接訪問有好處嘛?間接訪問不是自己給自己找別扭嗎?

不是!間接訪問有非常重要的作用,主要體現(xiàn)在幾個(gè)方面:


(1)為了在函數(shù)中改變主調(diào)函數(shù)的存儲(chǔ)單元,沒有間接訪問你就不可能實(shí)現(xiàn).

(2)使用間接訪問為了動(dòng)態(tài)分配存儲(chǔ)單元,從而對單元進(jìn)行操作,并且再此基礎(chǔ)上實(shí)現(xiàn)鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),也就是鏈表.

(3)為了能夠動(dòng)態(tài)分配存儲(chǔ)單元,并再此基礎(chǔ)上實(shí)現(xiàn)動(dòng)態(tài)數(shù)組。之前,定義變量,數(shù)組是靜態(tài)數(shù)組獲得10個(gè)存儲(chǔ)空間,而數(shù)組一旦分配好存儲(chǔ)空間,長度就不能變化。但是動(dòng)態(tài)數(shù)組不一樣,當(dāng)滿了以后可以擴(kuò)充空間。

(4)通過指針訪問一段連續(xù)的存儲(chǔ)空間


如果使用直接訪問,使用變量名就只能訪問我單元本身,而使用間接操作有了指針,p指向一個(gè)單元,不僅可以通過*p把當(dāng)前指針指向的單元間接表示,還可以通過指針的移動(dòng)把存儲(chǔ)空間前后任意的存儲(chǔ)單元表示出來。

可以說,指針是C語言的靈魂。一個(gè)人的C語言基礎(chǔ)好不好,很大一部分都看他對于指針的理解程度有多深。所以希望同學(xué)們可以對指針的內(nèi)容反復(fù)研習(xí),反復(fù)實(shí)踐。

感謝閱讀,學(xué)習(xí)使人強(qiáng)大。

如果你想更好的提升你的編程能力,成為一個(gè)強(qiáng)大的C/C++程序員!不妨和一些志同道合的小伙伴一起學(xué)習(xí)成長!

學(xué)習(xí)C/C++編程知識(shí),提升C/C++編程能力,歡迎關(guān)注UP一起來成長!
另外,UP在主頁上傳了一些學(xué)習(xí)C/C++編程的視頻教程,有興趣或者正在學(xué)習(xí)的小伙伴一定要去看一看哦!會(huì)對你有幫助的~




C/C++編程筆記:「C語言指針」民間解讀版本,最通俗的知識(shí)剖析的評論 (共 條)

分享到微博請遵守國家法律
梁河县| 黄冈市| 广东省| 凉城县| 贵州省| 班玛县| 伊川县| 甘南县| 威远县| 沁阳市| 宁安市| 阿尔山市| 峨边| 贵阳市| 涿鹿县| 和政县| 内乡县| 正镶白旗| 汉川市| 哈尔滨市| 奇台县| 恩施市| 屯留县| 南溪县| 民勤县| 金平| 无棣县| 耿马| 镇平县| 安平县| 灵宝市| 宽城| 涞源县| 民勤县| 永济市| 佳木斯市| 辽源市| 景德镇市| 建水县| 金秀| 原平市|