黑馬程式設計師 巨集定義

2021-06-21 01:20:28 字數 859 閱讀 3435

一.巨集定義基本知識 

1.所有的預處理指令都是以#開頭

2.預處理指令分3種

1> 巨集定義

2> 條件編譯

3> 檔案包含

3.預處理指令在**翻譯成0和1之前執行

4.預處理的位置是隨便寫的

5.預處理指令的作用域:從編寫指令的那一行開始,一直到檔案結尾,可以用#undef取消巨集定義的作用

6.巨集名一般用大寫或者以k開頭,變數名一般用小寫

二.帶引數的巨集定義效率比函式高// 注意每個元素都要用括號括起來

#define sum(v1,v2) v1+v2 // sum(a,b)*sum(c,d);容易出現問題

正確寫法 #define sum(v1, v2) ((v1)+(v2)) 

#define pingfang(a) ((a)*(a))

三.條件編譯

1.只要寫了#if,在最後面必須加上#endif

#define a 10

#if (a == 10)

printf("a是10\n");

#elif (a == 5)

printf("a是5\n");

#else

printf("a其他值\n");

#endif

四.#include使用注意

1.<>表示系統自帶的檔案,""表示自定義的檔案

2.不允許迴圈包含,比如a.h包含b.h,b.h又包含a.h

在.h檔案寫上如下**,保證#include不被多次編譯

#ifndef wangwu_h

#define wangwu_h

int minus(int a, int b);

#endif

黑馬程式設計師 C語言 巨集定義

1.巨集定義可以分為2種 不帶引數的巨集定義 帶引數的巨集定義 2.定義 一般形式 define 巨集名 字串 比如 define abc 10 右邊的字串也可以省略,比如 define abc 3.作用 它的作用是在編譯預處理時,將源程式中所有 巨集名 替換成右邊的 字串 常用來定義常量。接下來寫...

黑馬程式設計師

asp.net android ios開發 net培訓 期待與您交流!map hashtable 底層是雜湊表資料結構,不可以存入null鍵和null值。該執行緒是同步的,jdk1.0出現,效率低。hashmap 底層是雜湊表資料結構,允許使用null鍵和null值。該集合執行緒是不同步的,將has...

黑馬程式設計師

1.了解反射 反射 就是通過class檔案物件,去使用該檔案中的成員變數,構造方法,成員方法。person p new person p.使用 要想這樣使用,首先你必須得到class檔案物件,其實也就是得到class類的物件。2.反射中的類 class類 成員變數 field類 構造方法 const...