巨集定義的作用:避免幻數,提高維護性,靈活。缺點在於傻瓜式替換
定義變數的三種方式:define const enum
巨集函式和自定義函式優缺點;
自定義函式效率低,巨集函式**實現簡單而且頻繁呼叫,編譯時間換空間
inline內斂函式;空間換執行時間,條件編譯的作用:#ifdef 和 #ifndef: 防止標頭檔案重複包含導致重複定義。
關鍵字:
register 把變數變成變成暫存器變數,請求編譯器盡可能的把變數儲存在暫存器中,提高執行效率
cpu 三大組成部分,
運算器, 控制器 儲存器(暫存器)
頻繁被訪問的變數,用register 修飾
注意register 只能修飾區域性變數,不能修飾全域性變數和函式
register 變數不在記憶體中儲存,所以不能用&取位址
register 修飾的變數必須是cpu所接受的
static關鍵字: static 只修飾區域性變數,儲存在資料區靜態資料區,使這個區域性變數生命週期延長到整個函式結束之後再釋放。
static 修飾全域性變數(靜態函式)只能在本檔案上訪問,不能在其他檔案訪問。
static 既可以修飾變數,又可以修飾函式。
extern 關鍵字:外部宣告,宣告變數在外部定義;宣告變數在其他的檔案定義當前檔案可以訪問。
const 唯讀變數,修飾變數名,不是修飾對應的空間。
作用:const 離誰近,誰就不能變
修飾變數的初始化值要給變數
volatile 關鍵字: (硬體)
防止編譯器優化
評價乙個函式優先考慮一下兩個方面:
入口函式檢查:
有無const函式
關鍵字 嵌入式
const在指標中的用法 const int a 指向常整型的指標 int const a 指向常整型的指標 同上 int const a 指向整型的常指標 指標不可以改變,但是指標指向的物件的值可以改變 const int a 指向常整型數的指標 指標可以改變,但是指向的值是不可以改變的 cons...
嵌入式C語言入門 關鍵字 巨集
關鍵字extern const typedef define aad x,y x y define max x,y x y x y void test int main undef sum printf 在 d 行 n line printf 編譯的時間 s s n date time printf...
嵌入式學習心得(二)
c語言之父 丹吉斯.里奇 linux與unlx的發展過程中對我的影響 unlx在國外是一種商業開發的模板,對於linux而言在當時有著無法比擬的優勢,但是由於其付費模式的應用,是的不少人對於這種模式的反感,是的網路上出現了開源社群,而linux就在這種環境中成長了,得益於gpl協議,不斷地技術人員將...