C语言结构体补充

这里分享下常用的结构体操作

目录

1.结构体

2.结构体数组

3.结构体嵌套

4.结构体指针


1.结构体

struct AAA
{
	int a;
	char b;
	long c;
};

struct 结构体名字
{
	变量类型 变量名;

};(不要忘记分号)

2.结构体数组

struct AAA arr[3]={0};

arr[0].a = 1; arr[0].b = 2;arr[0].c = 3;

用一个结构体数组存储3个学生的学号,姓名,性别信息,并打印输出

struct AAA
{
	int num;
	char name[15];
	char sex[15];
};

struct AAA arr[3]={0};

for(int i = 0;i<3;i++)
{
    scanf("%d,%s,%s",&arr[i].num,arr[i].name,arr[i].sex);
}

for(int i = 0;i<3;i++)
{
    printf("%d,%s,%s",arr[i].num,arr[i].name,arr[i].sex);
}

3.结构体嵌套

struct AAA zhangsan;

struct AAA arr[3]={0};

struct AAA *p = &zhangsan;
struct AAA *q = arr;

尝试用指针修改结构体

p.num = 20;

*(q+1).num = 33;

4.结构体指针

struct Date
{
	int year;
	int mon;
	int day;
};

struct Student
{
	char name[15];
	int num;
	struct Date birthday;
};

初始化

struct Student Student1={“张三”,18,{1998,9,8}};

创建一个struct Student类型的有3个成员的结构体数组,用for循环进行赋值,打印;

struct Student arr[3]={0};

for(int i = 0;i<3;i++)
{
    scanf("%s,%d,%d,%d,%d",arr[i].name,&arr[i].num,&arr[i].birthday.year,&arr[i].birthday.mon,&arr[i].birthday.day);

}

你可能感兴趣的:(C语言,c语言,数据结构,开发语言)