第三十八章 胡思亂想
「你說(shuō)這些開(kāi)發(fā)C語(yǔ)言的人一天天的弄這么多區(qū)不累么?那一個(gè)區(qū)挨著放它不香么?只是聽(tīng)這些概念就把人弄暈了,更別說(shuō)是理解……」
我有些不滿,沒(méi)忍住抱怨了幾句。
「你現(xiàn)在覺(jué)得麻煩的東西可都是前人踩了很多坑含著血淚總結(jié)出來(lái)的,你沒(méi)有經(jīng)歷過(guò)采坑的過(guò)程,自然沒(méi)有辦法一下子理解。就像很多人不明白計(jì)算機(jī)是如何由一個(gè)個(gè)開(kāi)關(guān)發(fā)展到現(xiàn)在這種狀態(tài)的,這是因?yàn)樯倭藭r(shí)間的的積累。
如果我們親身經(jīng)歷了計(jì)算機(jī)在這近百年的發(fā)展、迭代后,就能夠理解為什么會(huì)演變成為現(xiàn)在的體系了。
所以啊,等到你們對(duì)C語(yǔ)言這個(gè)體系有了更深層次的理解后,興許就慢慢能夠體會(huì)到這其中的精妙所在。
這里我就當(dāng)給你擴(kuò)展一下知識(shí),在你們腦中留下一點(diǎn)點(diǎn)印象,等到以后你們想要深入了解的時(shí)候也有個(gè)突破點(diǎn)?!?p> 對(duì)于我的抱怨,老爹只是一笑了之。我挺直了背,讓注意力更加集中了幾分。既然老爹這個(gè)樣子說(shuō),看來(lái)這個(gè)知識(shí)點(diǎn)真的比較重要。
「首先是代碼區(qū),它在內(nèi)存中位置的地址編號(hào)數(shù)值相對(duì)于其他區(qū)較小。顧名思義,代碼區(qū)里面存放的數(shù)據(jù)就是我們寫(xiě)的代碼,當(dāng)然了,是編譯成了機(jī)器語(yǔ)言的代碼。
CPU從程序入口main函數(shù)開(kāi)始加載代碼數(shù)據(jù),按照順序執(zhí)行我們寫(xiě)的程序語(yǔ)句。
這部分內(nèi)存是在程序運(yùn)行結(jié)束后,由操作系統(tǒng)自己釋放。因此,不在我們的管理范圍中?!?p> 「老爹這不說(shuō)得很清楚嘛,似乎沒(méi)有說(shuō)得那么難以理解啊?!?p> 我暗自思忖。
「接下來(lái)就是常量區(qū),在說(shuō)常量區(qū)之前,我們得先來(lái)說(shuō)說(shuō)什么叫做常量。常量常量,就是固定不變的量,剛好我們平時(shí)使用的變量相對(duì)。
當(dāng)我們聲明一個(gè)了一個(gè)變量,在初始化后還是能夠改變它的值,但是常量就不行了,一旦聲明初始化后,它的值就固定不變,不能再修改。
雖然我們之前沒(méi)有學(xué)習(xí)過(guò)常量,但是卻一直在用,比如說(shuō)一個(gè)具體的數(shù)字、字符和字符串:
int i = 123;
char c ='A';
char[] str =“hello world“;
這里的123、'A'和“hello world“都是常量,是沒(méi)有辦法修改的?!?p> 「老爹不對(duì)啊,我們明明可以修改i、c和str的值??!」
我十分疑惑道。
「哈哈,很多人在都和你有相同的想法,包括我當(dāng)年學(xué)習(xí)這部分知識(shí)的時(shí)候也覺(jué)得不可思議。
注意喲,我剛剛說(shuō)的是123、'A'和“hello world“都是常量,可沒(méi)有說(shuō)i、c、str是常量哦?!?p> 「這不是一回事兒么?」
我越發(fā)迷糊了。
「當(dāng)然不一樣,咱們舉個(gè)簡(jiǎn)單的例子來(lái)說(shuō)明這個(gè)問(wèn)題。
你們看哈,我這兒有一張面值為100元的毛爺爺,然后我把它放進(jìn)我的錢(qián)包。如果我這個(gè)錢(qián)包是一個(gè)變量的話,那么這張100元的毛爺爺就是變量中的值了,這能夠理解吧?」
見(jiàn)我和小弦子同時(shí)點(diǎn)頭,老爹接著說(shuō)道:「現(xiàn)在呢,我因?yàn)槿コ匈I(mǎi)了五包薯片,用了50塊錢(qián),然后超市收銀的小姐姐找了我50元錢(qián),那么現(xiàn)在錢(qián)包這個(gè)變量的值就變成了50,這沒(méi)問(wèn)題吧?」
「嗯嗯~」
「好,那么問(wèn)題來(lái)了,請(qǐng)問(wèn)我錢(qián)包里原來(lái)的100塊錢(qián)在哪兒?」
「老爹你是不是傻了?那100塊錢(qián)當(dāng)然在超時(shí)收銀小姐姐那兒?。〔蝗凰€能憑空消失了不成?」
「原來(lái)是這樣……」
小弦子突然沒(méi)頭沒(méi)腦地說(shuō)了這么一句,還表現(xiàn)出一幅恍然大悟的樣子。
老爹看著他,滿意地點(diǎn)了點(diǎn)頭。
這看得我一頭霧水,完全不知道這是什么情況。
「老爹,你們?cè)诟陕??我是錯(cuò)過(guò)了什么嗎?」
我撅著嘴,疑問(wèn)中帶著一絲絲嫉妒。居然有人比我和老爹更有默契!這完全不能忍!
「小弦子,你來(lái)跟玥玥說(shuō)這是怎么回事兒吧。」
老爹無(wú)奈地笑了笑。
「你剛剛自己說(shuō)了,那100塊錢(qián)不能憑空消失,也就是說(shuō)現(xiàn)在這50塊錢(qián)并不是由原來(lái)那100塊錢(qián)發(fā)生了改變而來(lái)的。換句話說(shuō),這50塊錢(qián)和之前的100塊錢(qián)之間沒(méi)有任何關(guān)系,它們是獨(dú)立存在的。
這就和任叔叔剛剛說(shuō)的內(nèi)容一致了,我們修改了一個(gè)變量的值,并不是那個(gè)值的本身發(fā)生了修改,而是我們把另外的值賦給了這個(gè)變量?!?p> 「小弦子果然是聰明,一下子就真的理解了。」
小弦子說(shuō)完后,老爹顯得越發(fā)滿意了。小弦子在得到老爹的夸獎(jiǎng)后靦腆的臉上浮現(xiàn)了一抹紅暈,眼中充滿了興奮之色。
我傻眼了,因?yàn)椴坏珱](méi)有聽(tīng)懂小弦子在說(shuō)什么,反而被饒得云里霧里,好像腦筋都打結(jié)了。
我有點(diǎn)后悔了,早知道就不該答應(yīng)小弦子跟著我們學(xué)編程的,他把風(fēng)頭都占盡了??蠢系鶎?duì)小弦子贊不絕口的樣子,那他會(huì)不會(huì)嫌棄我太笨了?。?p> 而且老爹老媽經(jīng)常說(shuō)我是充話費(fèi)送的,這時(shí)候看來(lái)我的臉好像不怎么像老爹,也不怎么像老媽?zhuān)y道我真的是撿的?
如果真是這樣,要是老爹老媽再嫌我笨,把我送回「親」父母那兒該怎么辦???爺爺奶奶、老爹老媽都對(duì)我這么好,我……
想到這里我哪里還有心情學(xué)習(xí)啊,腦袋一陣暈沉沉的,頓時(shí)如同失了魂一樣,臉色瞬間變得蒼白無(wú)力。
「玥玥你怎么了?是哪兒不舒服么?」
老爹看著我一副失魂落魄的樣子,再加上一副蒼白的面容,他臉上的笑容瞬間消失得無(wú)影無(wú)蹤,焦急在剎那間爬滿了他的臉。
「老爹還是關(guān)心我的啊……」
我無(wú)力地笑了笑,突然覺(jué)得眼皮好重,眼睛有些睜不開(kāi)了。我努力想要睜開(kāi)眼睛,可眼前的光亮越來(lái)越少,最后完全漆黑一片。
迷迷糊糊中我覺(jué)得有人抱著我,不斷地喊我的名字,我想睜開(kāi)眼睛,可怎么都睜不開(kāi),最后連這模模糊糊的感覺(jué)也都消失了。
等我再次睜開(kāi)眼睛的時(shí)候,映入眼簾的是一團(tuán)潔白,潔白很輕柔,但是有一種味道一點(diǎn)都不好聞。
「嘶~」
左手腕好疼,我抬手想看看,可身上一點(diǎn)力氣都沒(méi)有。
我清晰地感覺(jué)到有一股清涼順著疼痛的地方流進(jìn)我的手臂里面,我看了一眼,原來(lái)是輸液瓶。