一垦藏、學習目的
學會如何自定義頭文件和掌握宏定義的用法
二、學習內容
定義
- 頭文件 .h :函數(shù)的聲明 變量的聲明 (不能賦值)沒有內存
-
實現(xiàn)文件 .c :函數(shù)的具體實現(xiàn) 實現(xiàn)函數(shù)的功能和操作變量
image.png
功能
將函數(shù)的聲明和實現(xiàn)分離開來,類似于封裝媳溺,使代碼具有可移植性
使用步驟
1.創(chuàng)建.h文件 聲明函數(shù)/暴露借口給外部使用
2.創(chuàng)建.c文件 函數(shù)的具體實現(xiàn) 或者 私有的東西(不想暴露給外部)
3.在.c文件導入.h文件 相當于在.c文件里面有函數(shù)的實現(xiàn)
4.在使用的地方導入.h文件
注意事項
1.盡量讓.h .c文件名稱相同
2.頭文件相互引用可能會出錯,出現(xiàn)循環(huán)引用
解決辦法:使用宏定義在頭文件中加預處理
#ifndef ATMLogin_h
#define ATMLogin_h
void ATMLogin(void);
#endif /* ATMLogin_h */
宏定義
優(yōu)點
1.給特定的數(shù)值一個特定的意義
2.便于管理
舉例
//多平臺登錄
#define WeChat 1
#define QQ 2
#define WeBo 3
//定義一個表達式 開關
//通過改變對應的值來滿足不同情況下對代碼的要求
#if 1
#define Log(x) printf(x)
#else //增強了安全性
#define Log(x)
#endif
int main(int argc, const char * argv[]) {
//測試
Log("hello\n");
//release版本
printf("hello\n");
return 0;
}
三土浸、心得體會
通過學習,對頭文件的使用有了更深的印象啤它,同時也更進一步地了解了宏定義,get到了如何通過宏定義來解決頭文件之間出現(xiàn)相互引用的問題,以及如何使用宏定義定義開關变骡,對于其中一些較難理解的部分离赫,多敲多用,融會貫通塌碌!