define與typedef一樣嗎?

2021-05-23 18:16:35 字數 682 閱讀 1354

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...