1. 程式人生 > >宏定義陷阱與typedef

宏定義陷阱與typedef

一個 typedef ptr 變量 所有 string efi har 不能

#define int_ptr  int*

int_ptr  point1,point2;

經預處理後,第二行變為 int * point1,point2.

這就意味著,point1 是一個指向int的指針,但是 point2卻是 int類型的了

所以,宏定義的連續變量的定義中 ,不能保證所有的變量為同一樣的類型!!

typedef不同,他可以保證連續性。

typedef char * String

String str1,str2;

-------------------------------------------------------------------------------------------

-

另外:

#define INT int

unsigned INT number;

這句話是沒有問題。

但是:

typedef int INT

unsigned INT number;

這就是錯誤操作!

宏定義陷阱與typedef