1.先定义类型,在定义变量
struct Student
{
int age;// 4个字节
char *name;// 8个字节
};
struct Student stu = {20, 1.78, "jack"}
2.定义类型的同时定义变量
struct Person
{//里面的3个变量可以称为结构体的成员或者属性
int age;
double height;
char *name;
} stu; // 定义类型的同时,定义变量
结构体类型不能重复定义
3.定义类型的同时定义变量(省略了类型名称)
struct{
int age;
char *name;
}stu; // 这样定义也是正确的
但是每次定义都要重新写东西,如下
struct{
int age;
char *name;
}stu1; // 这样定义也是正确的
struct{
int age;
char *name;
}stu2; // 这样定义也是正确的
结构体类型也是有作用域的,从定义类型的哪一行开始,一直到代码块结束
结构体类型的作用域:
定义在函数外面,全局有效(从定义类型的那行开始,一直到文件结尾)
定义在函数(代码块)内部,局部有效(从定义类型的那行开始,一直到代码块结束)
|
|