亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

【學習筆記】【C語言】宏定義

2019-11-14 18:45:33
字體:
來源:轉載
供稿:網友

1.宏定義可以分為2種:
不帶參數的宏定義
帶參數的宏定義

2.定義

一般形式
#define 宏名 字符串
比如  #define ABC 10
右邊的字符串也可以省略,比如#define ABC

3.作用

它的作用是在編譯預處理時,將源程序中所有"宏名"替換成右邊的"字符串",常用來定義常量。
接下來寫個程序根據圓的半徑計算周長

4.例子

在第4行定義了一個叫PI的宏,在編譯預處理之后,第8行中的2 * PI *radius就會變成2 * 3.14 * radius。

 1 #include <stdio.h> 2    3   // 源程序中所有的宏名PI在編譯預處理的時候都會被3.14所代替 4   #define PI 3.14 5  6  // 根據圓的半徑計radius算周長 7  float girth(float radius) { 8     return 2 * PI *radius; 9 }10  11 int main ()12  {13 float g = girth(2);14     15 PRintf("周長為:%f", g);16 return 0;17 }

5.注意

1> 宏名一般用大寫字母,以便與變量名區別開來,但用小寫也沒有語法錯誤

2> 對程序中用雙引號擴起來的字符串內的字符,不進行宏的替換操作。比如:

1 #define R 102  int main ()3  {4      char *s = "Radio";5      return 0;6  }

在第1行定義了一個叫R的宏,但是第4行中"Radio"里面的'R'并不會被替換成10

3> 在編譯預處理用字符串替換宏名時,不作語法檢查,只是簡單的字符串替換。只有在編譯的時候才對已經展開宏名的源程序進行語法檢查

1 #define I 1002  int main ()3  {4      int i[3] = I;5      return 0;6  }

4> 宏名的有效范圍是從定義位置到文件結束。如果需要終止宏定義的作用域,可以用#undef命令
#define PI 3.14
/*
 .
 .
 .
 .
 */
#undef PI
PI這個宏在第1行到第8行之間是有效的,第8行后就無效了

5> 定義一個宏時可以引用已經定義的宏名
#define R  3.0
#define PI 3.14
#define L  2*PI*R
#define S  PI*R*R

6.代碼

 1 /* 2  1.所有的預處理指令都是以#開頭 3  2.預處理指令分3種 4  1> 宏定義 5  2> 條件編譯 6  3> 文件包含 7  3.預處理指令在代碼翻譯成0和1之前執行 8  4.預處理的位置是隨便寫的 9  5.預處理指令的作用域:從編寫指令的那一行開始,一直到文件結尾,可以用#undef取消宏定義的作用10  6.宏名一般用大寫或者以k開頭,變量名一般用小寫11  */12 #include <stdio.h>13 14 15 //#define kCount 416 17 int main()18 {19     char *name = "COUNT";20     21     printf("%s/n", name);22     23     #define COUNT 424     25     int ages[COUNT] = {1, 2, 67, 89};26     27     28     29     for ( int i = 0; i<COUNT; i++) {30         printf("%d/n", ages[i]);31     }32     33     // 從這行開始,COUNT這個宏就失效34 #undef COUNT35     36     int a = COUNT;37     38     return 0;39 }40 41 void test()42 {43     44 }
 1 /* 2  1.帶參數的宏定義效率比函數高 3   4  */ 5  6 /* 7 int sum(int a, int b) 8 { 9     return a + b;10 }*/11 #include <stdio.h>12 13 #define sum(v1, v2) ((v1)+(v2))14 15 #define pingfang(a) ((a)*(a))16 17 int main()18 {19     // pingfang(5+5) (10*10)20     // pingfang(5+5)21     // pingfang(5+5) (35)22     // pingfang(5+5)/pingfang(2)23     int c = pingfang(5+5)/pingfang(2);24     25     printf("c is %d/n", c);26     /*27     int c = sum(2, 3) * sum(6, 4);28     29     printf("c is %d/n", c);*/30     /*31     int a = 10;32     33     int b = 20;34     35     36     int c = sum(a, b);37     38     printf("c is %d/n", c);39     //int c = sum(a, b);*/40     41     return 0;42 }

 

 
 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产成人亚洲综合青青| 中文字幕v亚洲ⅴv天堂| 日韩电视剧在线观看免费网站| 国产精品永久免费视频| 美女扒开尿口让男人操亚洲视频网站| 国产精品美女www| 日韩精品视频在线免费观看| 丝袜情趣国产精品| www亚洲欧美| 日韩欧美精品在线观看| 国产精品99蜜臀久久不卡二区| 日韩中文字幕精品| 亚洲第一区在线观看| 亚洲国产精品女人久久久| 亚洲美女在线看| 欧美精品精品精品精品免费| 国产日韩欧美91| 海角国产乱辈乱精品视频| 欧美激情网友自拍| 国产综合在线视频| 久久影视电视剧免费网站| 日韩美女视频中文字幕| 国产一区二区三区视频在线观看| 中文字幕欧美日韩| 精品久久久久久久久国产字幕| 92看片淫黄大片欧美看国产片| 国产成人精品一区二区三区| 国产在线拍揄自揄视频不卡99| 国产精品欧美激情在线播放| 久久精品99国产精品酒店日本| 亚洲在线观看视频| 欧美在线视频免费观看| 国产精品中文字幕在线观看| 欧美精品在线极品| 国产精品久久久久免费a∨大胸| 亚洲欧美第一页| 国产精品久久久久久久9999| 国产免费成人av| 久久久久国产精品www| 久久这里有精品| 欧美一级视频一区二区| 久热爱精品视频线路一| 久久久久久久久亚洲| 久久久精品久久久| 国产精品电影观看| 91网站免费观看| 国产精品久久久久秋霞鲁丝| 97久久精品在线| 亚洲tv在线观看| 国产精品一区二区三| 亚洲成**性毛茸茸| 国产伊人精品在线| 亚洲欧美精品在线| 亚洲国产日韩欧美在线动漫| 国产日韩欧美在线视频观看| 国产一区香蕉久久| 成人在线视频福利| 亚洲精品98久久久久久中文字幕| 亚洲第一天堂无码专区| 欧美在线视频观看| 97碰碰碰免费色视频| 蜜臀久久99精品久久久久久宅男| 亚洲精品久久在线| 亚洲精品国产精品国产自| 国产成人欧美在线观看| 91精品久久久久久| 亚洲亚裔videos黑人hd| 日韩成人av一区| 欧美性xxxxxxx| 欧美日韩国产色| 欧美体内谢she精2性欧美| 国产成人福利视频| 中文字幕亚洲一区| 午夜精品蜜臀一区二区三区免费| 亚洲欧美综合v| 91精品久久久久久久久青青| 成人在线播放av| 亚洲丝袜一区在线| 欧美精品在线网站| 欧美大成色www永久网站婷| 国产日韩欧美综合| 国产精品99蜜臀久久不卡二区| 51精品国产黑色丝袜高跟鞋| 欧美成人高清视频| 国产精品久久久久久久久久| 日韩中文字幕免费视频| 国产精品丝袜久久久久久不卡| 2023亚洲男人天堂| 亚洲精品国产精品乱码不99按摩| 久久精品视频网站| 国产精品高潮呻吟久久av野狼| 欧美性极品少妇精品网站| 欧美黄色小视频| 成人午夜黄色影院| 国产偷国产偷亚洲清高网站| 久久久久日韩精品久久久男男| 亚洲a级在线播放观看| 欧美精品性视频| 久久99精品国产99久久6尤物| 91亚洲国产成人精品性色| 欧洲美女7788成人免费视频| 97色在线播放视频| 久久国产精品久久国产精品| 欧美激情综合亚洲一二区| 欧美另类第一页| 久久精品国产91精品亚洲| 国产精品第一页在线| 国产精品99久久久久久www| 欧美日韩综合视频| 亚洲欧美制服综合另类| 亚洲福利在线播放| 欧美xxxx做受欧美| 欧美—级a级欧美特级ar全黄| 91视频国产高清| 久久精品国产2020观看福利| 国产这里只有精品| 日韩va亚洲va欧洲va国产| 亚洲成av人影院在线观看| 欧美特级www| 国产97在线观看| 国产精品丝袜久久久久久高清| 91天堂在线观看| 91久久久久久久久久久久久| 97精品国产97久久久久久春色| 成人激情综合网| 日韩一区二区精品视频| 欧美精品videossex性护士| 日韩中文字幕久久| 久久天堂电影网| 亚洲精品xxxx| 91久热免费在线视频| 91精品国产91久久久久久不卡| 欧美在线免费视频| 亚洲人免费视频| 欧美有码在线视频| 亚洲资源在线看| 97久久精品人人澡人人爽缅北| 中文字幕免费国产精品| 欧美二区乱c黑人| 人人澡人人澡人人看欧美| 日韩一区二区三区xxxx| 日韩精品在线视频美女| 亚洲国产成人精品一区二区| 91成人在线视频| 国产亚洲精品久久久| 国产精品美女主播在线观看纯欲| 亚洲人成伊人成综合网久久久| 欧美色播在线播放| 国产精品丝袜久久久久久高清| 日韩经典一区二区三区| 国产视频精品va久久久久久| 91久久综合亚洲鲁鲁五月天| 亚洲女性裸体视频| 91免费人成网站在线观看18| 亚洲国产精品成人精品| 国产免费一区视频观看免费| 国产精品成人国产乱一区| 国产精品综合不卡av| 91国在线精品国内播放| 国产亚洲欧美日韩一区二区| 在线免费观看羞羞视频一区二区| 日韩的一区二区| 欧美国产在线电影| 国产精品视频区|