在C语言中,结构体的定义要用typedef struct,例如:
typedef struct Number{
int a;
int b;
}Num;
这里的Number和Num指的都是整个结构体,在声明结构体变量的时候可以是
struct Number num1; //声明结构体变量的第一种方式
也可以是
Num num1; //声明结构体变量的第二种方式
也就是说Num==struct Number。定义中的Number其实也可以省略,这样的话声明变量就只能是第二种方式了:
typedef struct{ //去掉Number也对
int a;
int b;
}Num;
Num num1;
在C++中,typedef的使用和C中是一样的:
typedef struct Number{ //去掉Number也对
int a;
int b;
}Num; //Num是一个结构体类型,Num=struct Number.
Num num1; //使用时需要先声明结构体变量
num1.a=10; //再访问成员变量
在C++中还有一种更简便的使用方法:
struct Number{
int a;
int b;
}Num; //Num是一个结构体变量!!!!
Num.a=10; //使用时可以直接访问成员变量