自定义数据类型之七  
					
						2012-07-20 22:36:03|  分类: C++ |  标签: |举报 |字号大中小 订阅
				 
			 
			
		 
		
			 
		
			 
		
			4、用typedef声明类型
			可以用typedef声明一个新的类型名来代替已有的类型名。如:
			typedef  int INTEGER;//指定标识符 INTEGER 代表int类型
			也可以声明结构体类型:
			typedef  struct 
			            {int mouth;
			             int day;
			             int year;
			            }DATE;//注意DATE是新类型名,而不是结构体变量名
			所声明的新类型名 DATE 代表上面所指定的一个结构体类型。这样就可以用 DATE 定义变量:
			DATE  birthday;
			DATE  *p  //p为指向此结构体类型数据的指针
			还可以进一步:
			typedef int NUM[100]; //声明 NUM 为整型数组类型,包含100个元素
			NUM n;//定义n为包含100个整型元素的数组
			typedef  char *STRING;//声明 STRING 为字符指针变量
			STRING  p,s[10];//p为字符指针变量,s为指针数组(有10个元素)
			typedef   int (*POINTER)() ;//声明 POINTER 为指向函数的指针类型,函数返回整型值
			POINTER  p1,p2;//p1,p2为POINTER类型的指针变量
			归纳起来,声明一个新的类型名的方法是:
			先按定义变量的方法写出定义语句(int i;)。
			将变量名换成新类型名(将i换成COUNT)。
			在最前面加 typedef  ( typedef  int  COUNT )。
			然后可以用新类型名去定义变量。
			再声明上述的数组类型为例来说明:
			先按定义数组的方法写出定义语句(int n[100];)。
			将变量名n换成自己指定的类型名(  int  NUM[100] )。
			在最前面加 typedef ,得到  typedef  int  NUM[100] )。 
			用来定义变量:NUM n;(n是包含100个整型元素的数组)
			
			
			习惯上常把  typedef声明的类型名用大写字母表示,以便与系统提供的标准类型标识符相区别。