C语言-结构体的定义及使用

本文介绍了C语言中结构体的定义和使用方法,包括如何定义结构体变量,以及结构体变量的初始化。同时,文章还探讨了结构体数组的定义和初始化,提供了两种初始化方式,并给出了结构体数组的应用实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


为了方便分配内存,C语言中为用户提供了占用内存不同长度的数据类型,如int,float,char等,当同样地数据类型有序的组合在一起时组成了数组,但是实际应用过程中常常会遇到不同的数据类型组合在一起的情况,比如定义一个人时,需要年龄,性别,住址等信息。用C语言描述时即是int(年龄),char(性别),char[](家庭住址),当把不同的数据类型组合在一起时,就组成了结构体。

C语言的结构体定义形式为struct 结构体名{成员列表};不同的成员列表用分号‘;’隔开。

当使用定义的结构体,定义结构体变量时,有两种方式:

1 定义结构体的同时初始化结构体变量,如

struct student{int age;*char name;int score} stu1 ,stu2;//定义了两个结构体变量stu1,stu2;

2 先定义结构体,后初始化变量,如

struct student{int age;*char name;int score};//先定义结构体

struct student stu1;

stu1.age = 20;stu1.name = "张三";stu1.score = 99;

和C语言中其他的基本数据类型一样,结构体数据类型也可以用来定义结构体数组,结构体数组的初始化同样有两种方式:定义的同时初始化和先定义后初始化。

下面是关于结构体数组的一个应用:

#include "stdafx.h"

int main(int argc, char* argv[])
{
	//结构体数组的应用
	struct student{
		char name[20];
		int score;
	} class[5] = {
		{"张三",59},
		{"李四",60},
		{"王五",80},
		{"周七",90},
		{"朱八",100}
	};
	int sum = 0;
	int count = 0;
	for(int i = 0;i < 5;i++)
	{
		sum += class[i].score;
		if(class[i].score < 60)
		{
			count++;
			printf("第%d个不及格的人\n姓名:%s\n分数:%d\n\n",
				count,class[i].name,class[i].score);
		}
	}
	float aveScore = (float)sum/5;
	printf("班级平均分:%.2f 不及格人数:%d\n",aveScore,count);
	return 0;
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值