蘇嵌嵌入式Linux實訓 第 6天

2021-10-07 22:47:47 字數 1019 閱讀 9775

本人進度計畫以及任務學習c語言

本日任務完成情況

(詳細說明本日任務是否按 計畫完成,開發的**量)

學習了1.函式

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

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

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

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

return  ;

exit

2.記憶體管理

3.關鍵字

請求讓編譯器將變數直接放入暫存器裡面,以提高讀取速度;修飾的變數不可被取位址

修飾函式的區域性變數;有預設值0,只執行一次,執行一開始就開闢了記憶體,記憶體放在全域性

修飾全域性函式和全域性變數;只能在本原始檔使用

4.復合資料型別

作業1:為什麼使用typedef?

第一,是程式引數化,以提高程式可移植性。如果typedef說明的資料型別依賴於機器,那麼當程式一直到其他機器上時,只需改變typedef的型別定義。乙個常見的情況是用typedef給不同的整型量說明型別,隨後可謂每個宿主機器選擇適當的short,int和long……

第二,是源**更容易閱讀

作業2:什麼時候使用static?

作業3:free如何知道要釋放記憶體空間的長度?

其實真正的記憶體管理如申請/釋放等,並不是由malloc或者free等庫函式來負責的,而是交由作業系統去完成,它們只是維護乙個空閒的鍊錶式的記憶體塊,理解這一點是問題的關鍵。例如:要申請sizeof(int)*100大小的記憶體空間,雖然返回的是記憶體大小是400,但實際上,作業系統分配時候,會多出一塊用於儲存記憶體大小的類似鍊錶head頭節點的東東,這個節點儲存的是空間的首位址及分配記憶體的大小。當使用者呼叫free函式的時候,其實它也不知道要釋放記憶體的大小,它只需改變head頭結點裡的記憶體的大小就可以了,具體記憶體空間的釋放由作業系統去完成。

本日開發**現的問題彙總

本日未解決問題無

其它

蘇嵌實訓 嵌入式 linux C 第6天

專案名稱 蘇嵌實訓 嵌入式 linux c 第6天 今日進度以及任務 今天主要學習資料型別 運算子 表示式 基本控制語句 預處理 編碼規範以及指標和陣列 本日任務完成情況 學會了 操作進製的轉換,巨集的使用以及指標與陣列的簡單實用 本日開發 現的問題彙總 無 本日未解決問題 無本日開發收穫 今日主要...

蘇嵌實訓 嵌入式 linux C 第 6 天

專案名稱 蘇嵌實訓 嵌入式 linux c 第 6天 今日進度以及任務 命令列引數,位運算,巨集定義 內建巨集定義 編碼規範 陣列和指標復合資料 野指標 基本控制語句。本日任務完成情況 詳細說明本日任務是否按計畫完成,開發的 量 練習c語言的位運算在進製轉換中的使用 練習指標陣列和陣列指標如何作為函...

蘇嵌嵌入式linux實訓 第 5 天

專案名稱 蘇嵌實訓 嵌入式 linux c 第 5 天 今日進度以及任務 學習使用linux開發工具gcc gdb make 本日任務完成情況 建立靜態庫和動態庫 本日開發 現的問題彙總 各種指令使用不熟練,錯誤修改難 本日未解決問題 gcc部分指令操作,makefile操作 本日開發收穫 可以操作...