嵌入式軟體開發培訓筆記 C高階 結構體與共用體

2021-07-01 20:24:28 字數 1229 閱讀 4996

(1)、結構體

基本型別int、double、char、float、short、long等等

復合型別陣列、結構體

指標型別

空型別1)定義結構體,不會在記憶體內給分配空間

struct s1 ;

struct s2 ;

2)定義結構體變數

struct    s1    varname;

3)#define 與typedef定義別名替代struct name

4)結構體初始化

5)結構體賦值

先定義結構體變數,然後用變數.結構體子成員名稱

6)指標與結構體

7)位元組對齊的概念

變數在記憶體裡排放時有對齊的概念,所謂某個變數是n位元組對齊的,就是說該變數的「記憶體起始位址值」%n = 0;

a、基本型別自身對齊值

基本型別:char 1   short 2   (32bitmachine——int float long   4    double  8)

結構體型別:成員中基本型別的自身對齊值最大的那個值。

b、指定對齊值

使用#pragma pack(n)或__attribute__((aligned(n)))在定義結構體時指定對齊值n。但gcc對32位機預設情況下指定對齊值為4。

c、有效對齊值

最終決定資料存放位址方式的值,取值物件為自身對齊值和指定對齊值中較小的那個值。

srtuct s ;

那麼sizeof(struct s) = 8;

(2)、共用體(聯合體)union

各成員在記憶體中共用一塊空間,與結構體在記憶體中使用空間情況相反。

程式執行時無時不刻在訪問記憶體,深刻理解記憶體管理機制有利於更好地學習

c

嵌入式軟體開發培訓筆記 shell程式設計

1 shell程式設計也稱為shell指令碼,是一種編譯性語言,其本質是shell命令的有序集合。2 shell程式設計的基本過程分三步 a 新建乙個shell檔案 touch file1.sh 檔案字尾建議寫為.sh型別 b 改變file1.sh檔案的許可權 chmod 777 file1.sh ...

嵌入式軟體開發培訓筆記 shell基本命令

1 關於shell,linux中的shell可這樣認為 是linux核心的乙個外層保護工具,並負責完成使用者與核心之間的互動 明確幾個概念 命令 shell和shell指令碼 shell是乙個命令列直譯器,將使用者命令解析為作業系統所能理解的指令,從而實現使用者與核心之間的互動,同時shell為作業...

嵌入式軟體開發流程

1 嵌入式軟體開發流程在整個流程中,使用者首先需要建立工程並對工程做初步的配置,包括配置處理器和配置除錯裝置。編輯工程檔案,包括自己編寫的彙編和c語言源程式,還有工程編 譯時需要編寫的鏈結指令碼檔案,除錯過程中需要編寫儲存區映像檔案和命令指令碼檔案,以及上電復位時的程式執行入口的啟動程式檔案。對後四...