C語言 typedef 的三種應用場景

筆記內容基於以下學習資料整理: 黑馬最新c、c++全棧培訓第24期高清無密(全)\02c語言提高\02-c提高01day\C提高 day01\課堂視頻\05 typedef用法_.mp4

typedef的三種應用場景:

typedef struct Person{ }myPerson;
typedef char * PCHAR;
typedef long long myType;

typedef struct Person{ }myPerson;

給結構體struct定義別名,避免每次使用時都輸入struct;

typedef char * PCHAR;

如果需要同時定義兩個指向某類型的指針,一種可能的錯誤寫法如下:

char * p1, p2;

錯誤原因在於,上述定義的變量p1是指向char 的指針,而 p2只是一個char類型。
正確的寫法如下:

char *p1,*p2;

然而,如果不想多次輸入 * 符號,則可以使用

typedef char * PCHAR
PCHAR p1,p2;

【補充內容】:C++ 輸出變量類型

cout<<typeid(p1).name()<<endl;

typedef long long myType

​不同編譯器支持的變量類型可能不一樣,比如有的可能不支持 long long,
這會破壞代碼的可移植性;
如果代碼中要用到很多long long,而遷移後的編譯器不支持long long,那麼可以將

typedef long long myType;

修改爲

typedef int myType;

從而避免大批量的將代碼中的 long long 修改爲 int

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章