(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語言源程式,還有工程編 譯時需要編寫的鏈結指令碼檔案,除錯過程中需要編寫儲存區映像檔案和命令指令碼檔案,以及上電復位時的程式執行入口的啟動程式檔案。對後四...