當(dāng)前位置:首頁(yè) > 嵌入式培訓(xùn) > 嵌入式學(xué)習(xí) > 學(xué)習(xí)筆記 > 嵌入式學(xué)習(xí)筆記:c高級(jí)函數(shù)知識(shí)整理
1. 函數(shù)的聲明和定義
函數(shù)返回值為const char *
如返回malloc的首地址
2. 函數(shù)傳參:
二維數(shù)組名傳參時(shí),可以選擇行指針或列指針傳遞
3. 函數(shù)的調(diào)用
入棧:push
出棧:pop
Main函數(shù)也會(huì)入棧;先進(jìn)后出;
4. 全局變量
Extern 數(shù)據(jù)類(lèi)型說(shuō)明符
Extern一定要全局變量;
Static 存儲(chǔ)類(lèi)型說(shuō)明符 變量
Static函數(shù):
只限本文件使用,
延長(zhǎng)生命周期(程序運(yùn)行的整個(gè)區(qū)間)
5. 寄存器(不能取地址)
Cpu的緩存
6. \n 換行
\r 光標(biāo)回到行首,刪除整行
7. 函數(shù)的遞歸
注意棧的溢出
下溢:使勁push
上溢:使勁pop
遞歸的棧操作
遞 + 歸
8. 函數(shù)指針
函數(shù)的入口地址
Typedef int (*PFUNC)(int,int);
定義類(lèi)型
9. 條件編譯 #endif
通常用于版本控制
Gcc -D VERSION_1
10. Main函數(shù)傳參
Main函數(shù)是一個(gè)字符指針數(shù)組傳參
指針指向內(nèi)容存儲(chǔ)于棧區(qū);即命令行參數(shù)存儲(chǔ)于棧中;
字節(jié)對(duì)齊:32位即
最大的字節(jié)數(shù)小于4字節(jié)以最大的對(duì)齊;
最大的字節(jié)數(shù)大于4字節(jié)以4字節(jié)對(duì)齊;
位域:
s占1字節(jié);
若char b=7; 則占2字節(jié);
枚舉
通常用作錯(cuò)誤碼:見(jiàn)名之一
沒(méi)有成員訪問(wèn)預(yù)算符 .
C規(guī)定4字節(jié);
共用體
所有成員有相同的首地址;
有成員訪問(wèn)操作符號(hào);
錯(cuò)誤!!!!!!!!
Malloc操作
注意判空;
注意free釋放,一定保護(hù)好首地址;
Memset清空