當前位置:妙知谷 >

遊戲數碼 >電腦 >

C/C++ typedef 用法

C/C++ typedef 用法

引言:
typedef 聲明,簡稱 typedef,
功能:為現有類型創建一個新的名字。
比如:程序編寫者常常使用 typedef 來編寫更美觀和可讀的代碼。
所謂美觀:typedef 能隱藏笨拙的語法構造、平台相關的數據類型,
從而增強可移植性和程序的可維護性。

C/C++ typedef 用法

操作方法

(01)編程中:使用typedef一般有兩個目的,①給變量一個易記且意義明確的新名字,②簡化一些比較複雜的類型聲明。

C/C++ typedef 用法 第2張

(02)typedef的使用方法:格式:typedef  existing_type  new_type_name ;【注】: typedef 並不創建新的類型。它僅僅為現有類型添加一個同義字。

C/C++ typedef 用法 第3張

(03)typedef最簡單使用:格式:typedef  int  size;     typedef  unsigned  int  WORD;①聲明定義了:int的同義詞,名字為size,可以在任何需要int的上下文使用size。 ②聲明定義了:unsigned int的同義詞,名字為WORD,可以在任何需要int的上下文使用WORD。

C/C++ typedef 用法 第4張

(04)typedef+數組+指針:可以不用如下面這樣重複定義有 81 個字符元素的數組:char line[81]; char text[81];定義一個 typedef,每當要用到相同類型和大小的數組時,可以這樣:typedef char line[81]; line text, secondline;同樣,可以象下面這樣隱藏指針語法:typedef char * pstr; pstr str = "abc"; int mystrcmp(pstr, pstr);

C/C++ typedef 用法 第5張

(05)typedef+函數:函數指針一般用於回調。當我們的程序中有以下函數:void printHello(int i);然後定義一個函數指針,指向printHello,並且調用這個函數:void (*pFunc)(int); pFunc = &printHello; (*pFunc)(110);其中:void (*pFunc)(int) 是聲明一個函數指針,指向返回值是void,調用參數是(int)的函數,變量名是pFunc,pFunc就是函數指針,這是函數指針的簡單用法。 聲明一個函數指針是比較複雜的,尤其是當你要在多處地方聲明同一個類型的函數指針變量,代碼更加複雜,所以簡化方法:typedef void (*PrintHelloHandle)(int);使用代碼如下:PrintHelloHandle  pFunc; pFunc = &printHello; (*pFunc)(110);以後其他地方的程序需要聲明類似的函數指針,只需要下面代碼:PrintHelloHandle  pFuncOther;這樣,代碼就變得更加簡潔易懂。

C/C++ typedef 用法 第6張
C/C++ typedef 用法 第7張

(06)ypedef小結:typedef 行為有點像 #define 宏,用其實際類型替代同義字。typedef char * pstr; pstr mystr;typedef並不創建新的類型,typedef 在編譯時被解釋。 typedef和數組:typedef char Line[81]; Line text;把text替換為typedef char Line[81]的Line,展開之後就是char text[81];最複雜的typedef和指針typedef void (*PrintHelloHandle)(int); PrintHelloHandle pFunc;將pFunc替換typedef void (*PrintHelloHandle)(int),展開之後就是void (*pFunc)(int);其實就是聲明一個pFunc函數指針而已,根本沒有PrintHelloHandle這種類型。

C/C++ typedef 用法 第8張

特別提示

typedef 並不創建新的類型;

僅僅為現有類型添加一個同義字

typedef並不創建新的類型,typedef 在編譯時被解釋

標籤: CC typedef 用法
  • 文章版權屬於文章作者所有,轉載請註明 https://miaozhigu.com/sm/diannao/2elr16.html