蘇嵌嵌入式第六天Linux實訓

2021-10-07 22:56:03 字數 1447 閱讀 8949

2020–7–9開始了第六天的實訓內容,今天要繼續學習c語言,對於我來說,今天學的大部分都是新的知識,也許有之前學過的,現在卻忘了的。以下為今天學習內容的總結和作業。

函式的三要素:函式名、形參、返回值

函式名:

命名—>自注釋性 動詞 + 名詞 add_user del_user

函式引數:

實參是什麼型別,形參就要定義為什麼型別;《傳陣列名》

傳一維陣列名,用元素的指標;

傳二維陣列名,用一維陣列指標;

傳三維陣列名,用二維陣列指標;

傳指標陣列名,用指標的指標;

傳位址和傳值:什麼時候傳位址,什麼時候傳值?

當只使用不修改實參變數的值,傳實參變數名;func(實參變數名)

當使用即修改實參變數的值,傳實參變數的位址;func(&實參變數名)

傳入引數、傳出引數《如何讓函式返回多個值?>

函式的返回值;return exit

4.記憶體池

malloc,free是乙個開銷非常大的操作

記憶體池 將使用多次malloc 操作改變成只使用1次

右邊繪圖為解釋register,(『寄存』後加器)

學習計畫

1、c語言中free函式是如何確定要釋放多少記憶體空間的?

把前4位元組存成該塊記憶體的實際大小,並把前4位元組後的位址返回。 free釋放的時候會根據傳入的位址向前偏移4個位元組 從這4位元組獲取具體的記憶體塊大小並釋放。

2、static什麼時候使用?

static是靜態變數,靜態變數是固有的,可以直接被引用,其他成員變數僅僅在宣告、生成例項物件後才存在,才可以被引用。所以把靜態變數稱為類變數,非靜態變數稱為例項變數。靜態方法稱為類方法,非靜態方法稱為例項方法。當函式沒有訪問物件特有的資料時可以使用static 來修飾方法。靜態變數可以直接用類名引用。

3.為什麼要使用typedef給變數重新命名?

使用typedef為現有型別建立別名,定義易於記憶的型別名。

typedef 還可以掩飾復合型別,如指標和陣列。

重新命名的好處是能區分不同場合使用不同資料型別,取別名就是為了讓在不同使用環境下讓資料型別變得有「具體含義」。

蘇嵌嵌入式實訓第六天

課程總結 1 函式的三要素 函式名 形參 返回值 函式名 命名 自注釋性 動詞 名詞 函式引數 引數是什麼型別,形參就要定義成什麼型別 傳位址和返回值 只當使用不修改實參變數的值,傳實參變數名 當使用以及修改實參變數的值,傳實參變數的位址 2 記憶體管理 2g的物理記憶體空間分成4g的虛擬位址空間 ...

蘇嵌嵌入式linux實訓第六天

函式的三要素 函式名,形參,返回值 傳位址和傳值 什麼時候傳位址什麼時候傳參?1.當只使用不修改實參變數的值,傳實參變數名 2.當使用即修改實參變數的值,傳實參變數的位址 關鍵字 register static extern const typedef 1 c語言中free函式是如何確定要釋放多少記...

今天是蘇嵌嵌入式Linux實訓 第六天

今天是蘇嵌嵌入式linux實訓 第六天 1 c語言中free函式是如何確定要釋放多少記憶體空間的?linux裡面glibc在分配記憶體的時候會在記憶體塊的位址前面的4個位元組出存放記憶體塊的大小 2 static什麼時候使用?區域性靜態變數 在區域性變數之前加上關鍵字static,區域性變數就被定義...