目录
struct 结构体名
{成员列表};
注意:结构体的成员可以是结构体,也就是结构体内嵌结构体。
那么让我们先创建一个结构体出来看看:
struct student//结构体名
{
int num;//结构体成员
char name[20];
char sex;
int age;
float score;
char addr[30];
};
这里我们创建了一个结构体,但是其并没有储存任何数据,也就是没有太多意义。接下来我们需要对其进行初始化。
struct student{ //结构体类型名
...
...
...
}student1, student2 //结构体变量名
struct 结构体名
{
成员表列
}变量名表列;
struct
{
成员表列
}变量名表列;
但是这样会导致结构体只能使用一次。
知道结构体怎样创建后,我们需要了解一下结构体的变量如何引用:
这里我们需要先介绍一下”."成员运算符号,它在所有运算符号中优先等级最高。意思是找到结构体中的该成员。
结构体变量名.成员名
stdent1.age
student2.name
//结合上面我们创建的结构变量
strct date{
int month;
int day;
}brithday;
struct student
{
char name[20];
int age;
struct date birthday;
}student1;
//定义:
student1.brithday.month
scanf("%d", &student1.num);// 输入 student1.num 的值
printf("%p", &student1);// 输出 student1 的首地址
但不能用以下语句整体读入结构体变量如:
scanf("%d,%s,%c,%d,%f,%s", &student1);
结构体变量的地址主要用于作函数参数,传递结构体的地址。
struct student {
int num;
char nam[20];
char sex;
int age;
}wang1={10,"wang",'n',20};
struct student {
int num;
char nam[20];
char sex;
int age;
}wang1={10,"wang",'n',20};
struct student arr[3];
int main()
{
arr[1].age = 10;//定义
return 0;
}
struct student {
int num;
char nam[20];
char sex;
int age;
}arr2[3];
struct student {
int num;
char nam[20];
char sex;
int age;
}arr2[3] = {
{20,"asd",'n',50},
{100,"fgh",'a',100},
{200,"asd",'b',300}
};
这篇文章就讲到这里下一篇我们将会讲述结构体指针的创建与应用,对于指针大家可以先看这篇文章进想了解:
[小白都爱的指针入门理解 ]
【结构体基础全家桶(2)结构体指针 】http://t.csdnimg.cn/hUCsb