C語言typedef與 define的辨析

2021-09-21 06:58:27 字數 381 閱讀 1100

typedef:

1:使用它來為型別取乙個新的名字

2:也可以使用 typedef 來為使用者自定義的資料型別取乙個新的名字

#define

定義巨集,#define 是 c 指令,用於為各種資料型別定義別名,與 typedef 類似。

但是它們有以下幾點不同:

typedef 僅限於為型別定義符號名稱,#define 不僅可以為型別定義別名,也能為數值定義別名,比如您可以定義 1 為 one。

typedef 是由編譯器執行解釋的,#define 語句是由預編譯器進行處理的。

比如:typedef unsigned char byte;

byte b1, b2;

#define pi 3.1415926

c語言預處理與typedef

一 預處理 1 如包含命令 include 巨集定義命令 define pi 3.1415926等。在源程式中這些命令都放在函式之外,而且一般都放在原始檔的前面,它們稱為預處理部分。2 包含命令中的檔名可以用雙引號括起來,也可以用尖括號括起來。例如以下寫法都是允許的 include stdio.h ...

C語言筆記 define與typedef的區別

define是預處理指令,在編譯時不進行任何檢查,只進行簡單的替換 巨集定義的一般形式為 define 巨集名 字串這裡所說的字串是一般意義上的字串行,不要和c語言中的字串等同,它不需要雙引號。typedef是在c語言中用來為複雜的宣告定義簡單的別名,它本身是一種儲存類的關鍵字,與auto exte...

C語言 denfine 與 typedef的區別

1 define是預處理指令,在編譯預處理時進行簡單的替換,不作正確性檢查,不關含義是否正確照樣帶入,只有在編譯已被展開的源程式時才會發現可能的錯誤並報錯。例如 define pi 3.1415926 程式中的 area pi r r 會替換為3.1415926 r r 如果你把 define語句中...