天天看點

typedef 和#define的簡單差別

typedef char * String_t; #define String_d char * 1.typedef char *String_t 定義了一個新的類型别名,有類型檢查 2.#define String_d char * 隻是做了個簡單的替換,無類型檢查 3.前者在編譯的時候處理,後者在預編譯(預處理)的時候處理 4.同時定義多個變量的時候有差別,主要差別在于這種使用方式 String_t a,b; String_d c,d;

a,b ,c 都是char*類型,而d 為char 類型

一般都遵循#define定義“可讀”的常量以及一些宏語句的任務,而typedef則常用來定義關鍵字、冗長的類型的别名。(推薦typedef)

繼續閱讀