一、结构体的定义
结构体又称为自定义数据类型
定义格式:struct 类型名
struct关键字
在此,我们应该注意的是:
1、自定义数据类型定义完成以后等同于内置类型
2、结构体不能定义一个自身的普通成员变量,但可以定义一个指向自身的指针变量
看以下例子:
struct Student
{
char name[20];
int age;
};
Struct A
{
int a;
int b;
struct Student c;//ok
struct B d;//error
//由于程序的编译是顺序的,此时struct B还未定义
struct A e;//error
//结构体不能定义一个自身的普通成员变量(无法为其分配内存空间)
struct A *f;//ok
//但可以定义一个指向自身的指针变量(指针所占的内存为4字节)
};
struct B
{
int i;
char j;
struct A k;//ok
};
二、结构体的使用
在上述定义中,定义了学生的结构体,
那么如何对结构体进行初始化以及如何访问结构体中的成员呢?
看下面的例子:
int main()
{
void Show();
struct Student stu1;
//它的输出是随机值
struct Student stu2={"zhangsan",20};
struct Student stu3={"wangwu"};
//由于结构体是聚合类型,则当只初始化一部分时,剩余部分默认值为0.在此处age=0
stu3.age =