一般形式:typedef已有類型新類型名;
一旦重命名類型,就可以以新類型名來描述數據。習慣上新類型名用大寫字母表示。
例如:
(1)typedef int integer;/*重命名整型*/
integer i,j;
(2)typede{int COUNT;/*命名一計數類型COUNT*/
COUNT n1,n2;
(3)typede{int NUM[100];/*命名一整型數組類型NUM*/
NUM n:
(4)typedef char sTRING[81];/*命名一字符串類型STRING*/
STRING str1,str2;
(5)typede{struct
{int day;
int month;
int year;
}DATE;/*命名一結構體類型DATE*/
DATE datel,date2;
重命名類型的作用
重命名類型的作用如下:
(1)有利於加強數據描述的針對性,增加程序的可讀性。如用上面重命名類型coUNT來定義計數器變量,一目了然。
(2)有利於程序的通用和移植。C程序設計有時可能會依賴於具體的計算機。例如,整型數據在某種機器上可能占2字節內存單元,在另外一種機器上又可能占4字節的內存單元,若將程序從2字節的機器移植到4字節的機器,則要將所有int說明改成long說明,修改的部分可能較多,程序的移植性較差。
在整型數占2字節的機器上,若用typedef重命名類型:typedef int integer;,然後可用in‘teger定義變量。若要將程序移植到整型數占4字節的機器上,只要用long代替原來的int即可,這時可再用typedef重命名類型:typedef long integer;,本文首發中國自學編程網,此時程序中用integer定義的變量都為long型,其它部分不變,方便移植。
(3)有利於減少程序書寫的工作量。若程序中有若干處要用到同一種復雜數據類型,書寫起來比較復雜,通過重命名類型,可減少重復勞動。
幾點說明
(1)用typedef只能對已有類型增加一個名字,而不能自己去創造一個新的類型。
(2)用typedef可以對各種已有類型增加新的類型名,但不能用來定義變量。
(3)重命名類型,可以將數組類型與數組變量分離開來。
(4)重命名類型與編譯預處理不同,是在編譯時處理,實際上也並不是作簡單的字符串替換。
(5)常將一些常用的重命名類型單獨放一文件中,需要時用#include指令將它們包含至程序中
  
*