筆記內容基於以下學習資料整理: 黑馬最新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