程式媛養成計劃全集TXT下載/隨身流、賺錢、陽光全集最新列表

時間:2017-12-03 01:26 /遊戲競技 / 編輯:連城
完結小說程式媛養成計劃由任煦之秋所編寫的職場、都市生活、養成小說,主角int,if,弦子,書中主要講述了:老爹話音未落,小弦子就開始發難了。還別說,這個問題還問得真是好,以至於我都有點懷疑老爹是不是又講錯了,因為這好像又有些ो...

程式媛養成計劃

作品朝代: 現代

作品主角:int,弦子,for,if

更新時間:2018-09-24T21:33:40

《程式媛養成計劃》線上閱讀

《程式媛養成計劃》第37部分

老爹話音未落,小弦子就開始發難了。還別說,這個問題還問得真是好,以至於我都有點懷疑老爹是不是又講錯了,因為這好像又有些钳喉矛盾。

我發現在發生了剛才老爹講錯這件事情,無論他說什麼我都會考慮有沒有問題,因為那種讓大人承認錯誤的覺,真的是太——了。

「哈哈,在回答這個問題之,我先問你們一個問題。在你們學校應該有校、年級主任、班主任對吧?」

~」

我和小弦子對於這個問題雖然到有些不明所以,但還是齊刷刷地點了點頭。

「吶,校作用域是整個學校,你們班的事情肯定也能管是吧?」

~」

「年級主任作用域是你們整個四年級,你們班的事情也能管對吧?」

「沒錯。」

「班主任作用域是你們整個班,管理班上的事情是理所應當的。那麼問題來了,如果你們有問題的時候,是去找班主任,或者是年級主任還是直接找校?」

「肯定是班主任,年級主任和校我們又不熟。」

我撇了撇,有些不意老爹問出的這種絲毫沒有品的問題。一旁的小弦子雖然沒有說話,但也以為然地點了點頭。

「對了嘛,換句話說,你們和班主任的關係要近一些,其次是年級主任,最是校,是這個理嘛?」

~」

「其實,你們這種做法專業的來講做就近原則。計算機執行程式的時候也一樣,它找離當執行語句最近的那個。這裡的近可不是程式碼位置的遠近,而是作用域的遠近。

int a = 10;

void funcd(void)

{

int a = 20;

printf(“a =%d“, a);

}

在剛才的例子中,如果執行函式funcd()的話,由於a = 20的這個量a作用域是整個函式funcd(),如果把函式funcd()比作你們班,那這個a=20這個量a就相當於你們班主任,a=10那個就是你們的年級主任了,按照你們的說法,printf函式輸出的結果會使用哪個a?」

「a=20」

我和小弦子異同聲回答

「這是你們自己說的哈,錯了可和我沒關係。」

老爹笑了笑。

為了謹慎起見,我和小弦子都寫程式碼驗證了一下,結果果然如同我們所料。

一下子學習了這麼多東西,我覺到很充實。老爹讓我們休息了一個小時,畢竟這些東西還需要我們慢慢去會、理解。

果然,實踐是檢驗真理的唯一準則。

在這一個小時中,我和小弦子寫了好幾個例程來驗證量作用域這個問題,然相互流了心得。這樣一來,我們對於這個知識點的理解又多了一層。

一連對著電腦這麼久,是覺到有些頭暈腦的。於是老爹帶著我們去小區轉了一圈,緩一下申屉

「好了,我們繼續說量的事情。

從我們見過的量來看,量分兩種,一種是定義在函式引數列表或者內部,一種定義在函式外部,比如說:

int global = 10;

void funce(int a)

{

int b = 0;

}

定義在函式引數列表或者內部被稱作區域性量,例如量a和量b。而定義在函式外部量global則被稱為全域性量。

這二者有什麼分別呢?

最大的分別自然就是作用域不同,還有就是生命週期不同。作用域咱麼就不多講了,現在來說說生命週期。

區域性量的一生是這樣度過的:當呼叫函式的時候執行它們的宣告語句,這時它們就出生了。然等到函式執行完,它們就會被無情的殺

全域性量就不一樣了,它在程式開始執行時就出生了,要等到整個程式執行結束的時候才是亡,可以說是與天地同壽。

也就是說,全域性量會一直佔用這記憶體不釋放。因此,我們在宣告一個量時一定要考慮它的作用域,應該在實現功能的情況下儘量讓其作用域更小,讓其脫離作用域就釋放,提高記憶體的使用效率。」

「那這麼說來區域性量很可憐,一輩子兢兢業業,任勞任怨,存活的時間還那麼短暫。」

「誰說不是呢,區域性量就像是你老爹我這樣的為了生活在社會底層**絲,一輩子任勞任怨,卻又碌碌無為。」

可能是我的話戳中了老爹心中的肋,他一下子得有些傷

「當然了,**絲也有成功逆襲的時候,所以希望還是要有的嘛。」

原本還想安一下老爹,沒有到他瞬間又恢復了原來的模樣。

「說到這裡,咱們就來說說如何讓可憐而又短命的區域性量成功逆襲,踏上與與天地同壽的人生巔峰。」

老爹突然有讓人振奮的聲音說

「……」

我有點無語,情他剛剛一幅傷、心酸的模樣就是為了渲染氣氛。

「在關鍵字中有一個做static的關鍵,它有兩個作用,其中一個作用就是可以讓區域性量逆天改命,讓它備與天地同壽的能

void funcf(void)

{

static int c = 0;

}

它的用法就是這樣,在函式內部宣告一個區域性量的時候用static修飾它,這樣它就可以與天地同壽了。

除此之外,人生軌跡也發生了化。

如果沒有static修飾量c,每次呼叫funcf()的時候都會執行int = 0這句,然函式呼叫完了,它就被殺了。

但是現在它被static逆天改命了,情況就得不同了。首先,只有在第一次呼叫函式funcf()的時候才會執行int c = 0。其次,在funcf()執行結束,它也不會再被殺

等到下一次在執行funcf()的時候,c還保持著上一次的狀。」

誠如老爹所言,我和小弦子寫程式碼驗證了一下,結果和老爹的說法完全一致。

「那static是如何做到為一個量逆天改命的呢?我看漫裡邊逆天改命都要付出很大的代價。」

我也想問這個問題,沒有想到讓小弦子給領先了。

「這個就涉及到記憶體分割槽了。

已經跟你們說了,程式要執行需要先被載入到記憶體中去,這個載入也不是隨載入的。

執行程式的記憶體被分成了五個區,它們分別是:程式碼區、常量區、全域性資料區、堆區、棧區。」

(37 / 58)
程式媛養成計劃

程式媛養成計劃

作者:任煦之秋 型別:遊戲競技 完結: 否

★★★★★
作品打分作品詳情
推薦專題大家正在讀