用法不同
typedef用來定義一種數據類型的別名,增強程序的可讀性。define主要用來定義常量,以及書寫複雜使用頻繁的宏。
執行時間不同
typedef是編譯過程的一部分,有類型檢查的功能。define是宏定義,是預編譯的部分,其發生在編譯之前,只是簡單的進行字符串的替換,不進行類型的檢查。
作用域不同
typedef有作用域限定。define不受作用域約束,只要是在define聲明後的引用都是正確的。
對指針的操作不同
typedef和define定義的指針時有很大的區別。
注意
typedef定義是語句,因爲句尾要加上分號。而define不是語句,千萬不能在句尾加分號。