1.同时定义结构体和结构体变量
struct Student
{
int id;
char name[10];
int age;
}stu1,stu2;//定义结构体变量stu1和stu2
2.直接定义结构体变量
struct //不写结构体名
{
int id;
char name[10];
int age;
}stu1,stu2;
3.先定义结构体类型后定义结构体变量
struct Student
{
int id;
char name[10];
int age;
};
void main()
{
struct Student stu1,stu2;
return 0;
}
4.结构体变量中的成员也是一个结构体变量
struct date
{
int year;
int month;
int day;
};
struct Student
{
char name[10];
int id;
struct date; //date为结构体类型,那么它的变量就是母结构体的成员变量
}stu1,stu2;
struct Student
{
char name[10];
int id;
struct date
{
int year;
int month;
int day;
}a1; //内部定义的第一种形式
struct date a2; //内部定义的第二种形式
}stu1,stu2;
以上是两种形式的定义
另外结构体中的成员名可以和其他变量名相同,二者不是同一个变量
#include <stdio.h>
struct Student
{
int id;
char name[10];
int age;
}stu1,stu2;//定义结构体变量stu1和stu2
int main ()
{
char id='m';
struct Student stu1={10086,"Tom",18};
printf("%d\n",stu1.id);
printf("%c",id);
return 0;
}