C++用typedef声明类型

 

C++除了可以声明结构体、共用体、枚举等类型外,还可以用typedef声明一个新的类型名来代替已有的类型名。

 

typeddef int INTEGER;//指定标识符INTEGER代表int类型

声明完之后,这样两行代码则代表一个意思,都是表示声明一个整型变量i:INTEGER i;
int i;如果在一个C++程序中,整型变量是专门用来计数的,可以用COUNT来作为整型类型名:typedef int COUNT; //指定用COUNT代表int型
COUNT i,j;//将变量i,j定义为COUNT类型,也就是int类型。C++也可以用typedef 声明结构体类型: typedef struct//在struct之前用了关键字typedef,表示是声明新名
{
int year;
int month;
int day;
}DATE;//DATE是新类型名,而不是结构体变量名上述所声明的新类型名DATE代表上面指定的一个结构体类型。typedef int NUM[100];//声明NUM为整型数组类型,包含100个元素
NUM i;//定义i为包含100个整型元素的数组

typedef char *STRING;//声明STRING为字符指针类型
STRING point,str[10];//point为字符指针变量,str为指针数组C++声明一个新的类型名的方法是: 
  • 先按定义变量的方法写出定义语句。

  • 将变量名换成新类型名

  • 在最前面加typedef。

  • 用新类型名去定义变量。

C++typedef声明需要注意以下几点;
  • typedef可以声明各种类型名,但不能用来定义变量。

  • 用typedef只是对已经存在的类型增加一个类型名,而没有创造新的类型。

  • 在不同源文件中用到同一类型数据时, 常用typedef声明一些数据类型,把它们单独放在一个头文件中,然后在需要用到它们的文件中用#include命令把它们包含进来,以提高编程效率。

  • 使用typedef有利于程序的通用与移植。

案例:C++使用typedef。#include<iostream>//预处理
using namespace std;//命名空间
int main()//主函数
{
  typedef int INTERAGE;//用typedef声明
  INTERAGE i;//定义整型变量
  i=10;//赋值
  cout<<i<<endl;//输出结果
  return 0; //函数返回值为0;
}编译运行结果: 10

--------------------------------
Process exited after 3.623 seconds with return value 0
请按任意键继续. . .