首頁>Club>
6
回覆列表
  • 1 # 使用者2348142360111

    區別如下:

    1、typedef要寫成語句的形式,即末尾要加分號(;),而#define是宏定義,末尾沒有分號

    2、typedef是為已經存在的資料型別起個別名,用這個別名來表示這個資料型別,如:

    typedef unsigned int uInt32;

    uInt32 a,b,c; //定位了3個無符號整型變數

    #define是定義一個宏名來表示跟在其後面的一個字串或者表示式,它只是作簡單的字元替換,在預處理階段

    編譯器會將所有的宏名用其後面的字串或者表示式作替換,而不做任何的運算。如:

    #define N 10 //用N來表示常數10

    #define MAX(a,b) (a>b?a:b) //用帶引數的宏名MAX來表示表示式(a>b?a:b)。

    呼叫的時候:

    int a=3,b=4;

    MAX(A,B); //等價於(a>b?a:b); 因為它只是將實參傳進去,然後做簡單的字元替換。

  • 中秋節和大豐收的關聯?
  • 電影裡面有個麻將鬼的,內個電影叫啥?