在linux中變量的類型很多 有時候不同的平臺 存在變量的差異,所以我們就需要在寫大型的項目時就需要 給變量定義一個通用的名字。
在linux 中有兩種方法:
1. typedef
2. #define
例如:
typedef int * int32
#define INT32 int *
這兩種定義都可以但他們有本質的區別 ,
1.typedef 是在程序編譯時 去進行替換。而define 是在預編譯的時候替換的。
2. 有時候在一些變量的定義時 是由本質差異的。
例如: 以下兩個變量的定義:
typdef char * POINT // 要理解 這個POINT 就是一個 指針。 不要把他簡單的 展開這是部隊的 要時刻都把他當 指針
#define POINT_D char* //不用理解 就把他簡單 展開
const POINT p // p=&x 這個操作時非法的,因爲p 是一個指針常量,但 *p=c 是正確的。
const POINT_D p // p=&x 這個操作是 合法的,但*p=c非法 因爲p是一個常量指針