1.#define是什麼?
#define為一巨集定義語句,通常用它來定義常量(包括無參量與帶參量),以及用來實現那些「貌似簡單、實際複雜」的巨集。
#define並不在編譯過程中進行,而是在這之前(預處理過程)就已經完成了,實際上是簡單的替代。類似於word中的查詢且替代的操作。由於只是簡單的替代,因此難以發現潛在的錯誤及其它**維護問題。 如:
#define int int
#define true 1
#define add(a,b) ((a)+(b));
#define loop_10 for (int i=0; i<10; i++)
2.typedef是什麼?
typedef常用來定義乙個識別符號及關鍵字的別名,就將某人又乙個很長的大名,為了簡單,我們寧願叫起小名。
它是語言編譯過程的一部分,但它並不實際分配記憶體空間。
如: typedef int int;
3.它們的區別是什麼?
(1)define只是替代,而typedef是一種新的資料封裝,雖然很多時候只是給它改了乙個自己喜歡的別名。資料的型別並沒有發生變化。
(2)define沒有尾巴「;」,而typedef有尾巴「;」,這也說明typedef是在編譯中需要處理的語句,和普通的語句一樣。
2010-12-0222:54:27
typedef 與define一些差異
include define pint int typedef int pint 以下實驗說明了 1 typedef int pint const pint p1 i1 的效果是和下面的一樣的 int const p1 這裡的const鎖住的是 p1 所以p1 i2都是錯的,因為這裡記憶體位址p1已...
typedef與 define 的區別
一 typedef的用法 typedef常用來定義乙個識別符號及關鍵字的別名,它是語言編譯過程的一部分,但它並不實際分配記憶體空間,例項像 typedef int int typedef int array 10 typedef int pint typedef可以增強程式的可讀性,以及識別符號的靈...
typedef與 define 的區別
typedef與 define 的區別 一 typedef的用法 typedef常用來定義乙個識別符號及關鍵字的別名,它是語言編譯過程的一部分,但它並不實際分配記憶體空間,例項像 typedef int int typedef int array 10 typedef int pint typede...