在C语言中定义结构体的语法如下:
struct student
{
string name;
};
接下来,定义该结构体的一个s变量的语法如下:
struct student s;
即在定义结构体变量时需要带上struct关键字。有一种方法可以使得在定义结构体变量时不带struct关键字:使用类型别名。
typedef struct student
{
string name;
}stu;
stu s;
在上面的结构体定义中也可以省略结构体名称student,因为定义别名为的就是简化定义语句,后面不会使用该结构体的原名,所以不明确写出student也可以。
C++对结构体类型进行了调整:C++中的结构体和类除了默认访问级别不同外,没有其他区别。所以,在定义结构体类型时,即使前面没有typedef,在定义结构体变量时也不需要带有struct关键字。