看书时经常会见到类似下面的定义:
typedef struct Record{
char data;
int first;
}AdjList[20];
关于AdjList的类型可能会造成一些困惑。AdjList是一个类型,等同于Record [20];用AdjList声明的变量如:
AdjList a;
等同于:
Record a[20];
可以使用typeid(a).name()查看a的类型。
在VC++上运行下面的程序看看吧:
#include <iostream>
#include <typeinfo>
using namespace std;
typedef int INT[100];
int main()
{
int a[100];
INT b; //相当于int b[100];
//cout<<typeid(INT).name()<<endl;
cout<<"a的类型为:"<<typeid(a).name()<<endl;
cout<<"b的类型为:"<<typeid(b).name()<<endl;
for(int i=0;i<100;i++)
b[i]=i;
system("pause");
}