结构体常见的几种写法:
1. (无结构类型名,直接定义了stu1,stu2变量,在其他地方无法再进行定义)
struct {
char name[15];
int id;
}stu1,stu2;
2. 可以用stuct A 来定义变量。
struct A {
char name[15];
int id;
};
struct A stu1, stu2;
3. 用typedef 来给struct A 取了一个别名叫stu_st , 可以用struct A 来定义变量, 也可以用stu_st 来定义变量。(常用)
typedef struct A {
char name[15];
int id;
}stu_st;
stu_st sut1, stu2;
4.只能用stu_st 来定义变量 (最常用的一种方式)
typedef struct {
char name[15];
int id;
}stu_st;
注意:结构体成员的引用方式(以上述stu_st 为例):
1.
stu_st stu1;
此时,stu1 为普通变量 ,访问成员通过 .的方式,例如: stu1.id stu.name[1] 等都可以 .
2.
stu_st * stu1;
此时,stu1为指针变量, 访问成员通过->的方式,例如:stu1->id stu1->name[0] 等都可以。
3.
假如我定义了如下两个结构体:
typedef struct {
char name[15];
int age;
int score;
}stu_st;
typedef struct {
int n;
stu_st stu[MAX];
}class_st;
class_st * pclass;
当我要引用class的成员时,可以用pclass->n 来用;那引用stu中的成员呢?
用pclass->stu[1].age 这样引用。
阅读(1192) | 评论(0) | 转发(0) |