C语言之结构体

C语言之结构体

1.结构体的定义

QQ截图20240119110012

例如,定义单个类型,但是定义多个类型呢?

#include<stdio.h>
int main()
{
	int num=0;
	int score=0;
	float avg=0;
	return 0;
}

当定义结构体后

#include<stdio.h>
struct student
{
	int num;
    int score;
    float avg;
}
int main(void)
{
	struct student Tom;
	struct student class4[50];
	return 0;
}

里面存放50个同学的学号,成绩,平均分;

2.结构体的语法;

struct 结构体名字
{
	成员列表
};

结构体可以包含多个基本类型

访问成员的规则

1.结构体普通变量通过“.”来访问,例如:Tom.num;

2.结构体变量指针通过“->来访问成员”,例如:p->id;

结构体变量的定义

12

怎么用呢?

#include<stdio.h>
struct student 
{
	int num;
	int c_score;
	int ps_score;
}
int main()
{
	struct student Tom={10,90,98,94.5};//可以跟数组一样直接赋值
	struct student jiu;
	jiu.num=80;
	jiu.c_score=60;
	jiu.ps_score=80;
	return 0;
}

结构体里面不能直接赋初值,但是可以跟主函数里,在主函数里面赋值 跟数组差不多.

但是可以省略结构体名

struct
{
	数据类型 成员变量名;
}变量名列表

结构体变量只能定义一次

但是定义过后,怎么输出呢

printf("序号:%d",tom.num);

3.typedef的使用

1.他不是创造一个类型,而是给已有的类型取一个别名(创造外号)

3

可以在程序里这样用

4

定义后,原来的结构体也可以用·

4.结构体数组(重要!!!)

1.先声明,后定义+

struct 结构体名
{
	数据类型 成员变量名;
	数据类型 成员变量名;
	数据类型 成员变量名;
}
int main()
{
	struct student class[5];
	return 0;
}

2.再声明的同时定义

5

3.结构体数组初始化

语法

struct 结构体名 数组名[数组长度]={初值列表};
return 0;

}


2.再声明的同时定义

[外链图片转存中...(img-398jYNJu-1705655237223)]

3.结构体数组初始化

语法

struct 结构体名 数组名[数组长度]={初值列表};


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叁生花

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值