#include <stdio.h>
void test();
/*
預(yù)處理指令
什么是預(yù)處理指令:
在我們的文件翻譯成0和1之前做的操作我們稱之為預(yù)處理指令
一般情況預(yù)處理指令都是以#號(hào)開(kāi)頭的
三種預(yù)處理指令:宏定義、條件編譯、文件包含
*/
/*
宏定義的格式
1.不帶參數(shù)的宏定義
2.帶參數(shù)的宏定義
#define 宏名 值
宏定義的作用:
會(huì)在程序翻譯成0和1之前, 將所有宏名替換為 宏的值
宏定義在什么時(shí)候替換
源代碼 --> 預(yù)處理 -->匯編 -->二進(jìn)制 -->可執(zhí)行程序
規(guī)范:
一般情況宏名都大寫(xiě), 多個(gè)單詞之間用_隔開(kāi), 并且每個(gè)單詞全部大寫(xiě)
有得公司又要求宏名以k開(kāi)頭, 多個(gè)單詞之間用駝峰命名
注意:
宏定義后面不要寫(xiě)分號(hào)
宏定義也有作用域
從定義的那一行開(kāi)始, 一直到文件末尾
雖然默認(rèn)情況下宏定義的作用域是從定義的那一行開(kāi)始, 一直到文件末尾. 但是我們也可以通過(guò)對(duì)應(yīng)的關(guān)鍵字提前結(jié)束宏定義的作用域
宏定義的使用場(chǎng)景:
http://192.168.13.11/login
http://192.168.13.11/accesstoken
http://192.168.13.11/file,,,
#define BASE_URL "http://192.168.13.11/"
獲取屏幕的寬度
獲取手機(jī)系統(tǒng)版本號(hào)
做一個(gè)單利
判斷系統(tǒng)版本
...
*/
#define COUNT 6// ;
//#define CLASS_COUNT 100
int main(int argc, const char * argv[]) {
// int nums[6] = {1, 3, 5, 7, 9, 11};
// 要求不能動(dòng)態(tài)計(jì)算, 并且要求需求變更只修改一個(gè)地方
// int length = sizeof(nums) / sizeof(nums[0]);
int nums[COUNT] = {1, 3, 5, 7, 9, 11};
// for (int i= 0; i < length; i++) {
for (int i= 0; i < COUNT; i++) {
printf("nums[%i] = %i\n", i, nums[i]);
}
// 提前結(jié)束宏定義的作用域
//#undef COUNT
// 如果宏名寫(xiě)在雙引號(hào)中, 那么不會(huì)被替換
printf("COUNT");
test();
return 0;
}
void test()
{
int ages[COUNT] = {2, 4, 6, 8, 10};
for (int i= 0; i < COUNT; i++) {
printf("ages[%i] = %i\n", i, ages[i]);
}
}
04-01、預(yù)處理指令——不帶參數(shù)的宏定義
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
推薦閱讀更多精彩內(nèi)容
- 宏定義 預(yù)處理指令簡(jiǎn)介 1.C語(yǔ)言在對(duì)源程序進(jìn)行編譯前, 會(huì)先對(duì)一些特殊的預(yù)處理指令作解釋(比如之前使用的#inc...
- 目錄 1 預(yù)處理指令2 typedef3 typedef和宏定義的區(qū)別4 const關(guān)鍵字5 宏定義(define...
- 一、什么是預(yù)處理指令 在把程序翻譯成0和1二進(jìn)制之前,做的操作 一般情況預(yù)處理指令都以#號(hào)開(kāi)頭 包括:宏定義、條件...
- Given a time represented in the format "HH:MM", form the ...