2.6 Typedef Names

2013-10-07 15:26:23 · 作者: · 浏览: 64

A typedef lets us define a synonym for a type:

  1. typedef double wages; // wages is a synonym for double  
  2. typedef int exam_score; // exam_score is a synonym for int  
  3. typedef wages salary; // indirect synonym for double 

A typedef name can be used as a type specifier:

  1. wages hourly, weekly; // double hourly, weekly;  
  2. exam_score test_result; // int test_result; 

A typedef definition begins with the keyword typedef, followed by the data type and identifier. The identifier, or typedef name, does not introduce a new type but rather a synonym for the existing data type. A typedef name can appear anywhere in a program that a type name can appear.

复杂typedef 的认法:把typedef 遮住,那么这个语句定义了一个变量,如wages;再把typedef 放回去,wages 就成了一个类型,该类型与遮住typedef 时定义的wages 变量的类型相同。

注意:typedef 不定义新的类型,而是定义一个“同义词”。

Typedefs are commonly used for one of three purposes:

· To hide the implementation of a given type and emphasize instead the purpose for which the type is used

· To streamline complex type definitions, making them easier to understand

· To allow a single type to be used for more than one purpose while making the purpose clear each time the type is used