嵌入(ru)式(shi)學習筆記:c高級函數知(zhi)識整(zheng)理
時間:2018-09-28 來源:未知(zhi)
1. 函數的聲明和定義
函數返(fan)回(hui)值為const char *
如返回malloc的首地址
2. 函數傳參(can):
二維數組(zu)名傳參時,可以選擇(ze)行指針(zhen)或(huo)列指針(zhen)傳遞

3. 函數(shu)的調(diao)用(yong)
入棧:push
出棧:pop
Main函數也會入棧;先進后出;
4. 全(quan)局(ju)變量
Extern 數(shu)據(ju)類型說(shuo)明(ming)符
Extern一定要全局變量;
Static 存儲類(lei)型說明符(fu) 變量
Static函數(shu):
只限本文件使用,
延長生命周期(程序(xu)運行的整個區間)

5. 寄存器(不能取地址(zhi))

Cpu的緩存
6. \n 換行
\r 光標回到行(xing)首,刪(shan)除整行(xing)
7. 函數的遞(di)歸
注意棧的溢出
下溢(yi):使勁push
上溢(yi):使(shi)勁(jing)pop
遞歸的棧操作
遞 + 歸
8. 函數指針
函數的(de)入口(kou)地址
Typedef int (*PFUNC)(int,int);
定義類型

9. 條件(jian)編譯 #endif

通常用于版本控制(zhi)
Gcc -D VERSION_1
10. Main函數傳參
Main函數是一個字符指針數組(zu)傳參
指(zhi)針指(zhi)向內容存(cun)儲于棧區;即命令行參數存(cun)儲于棧中;
字(zi)節對齊:32位即
最大的字節(jie)數小(xiao)于4字節(jie)以最大的對齊;
最大(da)的字(zi)節(jie)數大(da)于4字(zi)節(jie)以4字(zi)節(jie)對(dui)齊;

位域:

s占1字節;
若(ruo)char b=7; 則占2字(zi)節;
枚舉
通常用(yong)作(zuo)錯誤碼:見名之一(yi)
沒有成員訪問預算符(fu) .
C規定(ding)4字節;
共用體
所(suo)有成員有相同的(de)首(shou)地址;
有(you)成員(yuan)訪問操作符號;

錯誤(wu)!!!!!!!!
Malloc操作

注意判空;
注意free釋放,一定保(bao)護好首地址(zhi);
Memset清空


