【结构体和结构体数组】

一.结构体概述

1.结构体的意义:

(1)问题:学籍管理需要每个学生的下列数据:学号、姓名、性别、年龄、分数,请用C语言程序存储并处理一组学生的学籍

    思考:如果有多个学生,该怎么定义 已学数据类型无法解决。

2.定义:

 正式: 结构体是由一批数据组合而成的结构型数据。组成结构型数据的每个数据称为结构型数据的“成员”   ,其描述了一块内存区间的大小及解释意义

 通俗: 结构体属于用户自定义的数据类型,允许用户存储不同的数据类型

一般语法形式

struct  结构体名

{   

  数据类型  成员名1;

  数据类型  成员名2;

  数据类型  成员名3;

    .......

};

每个成员的命名规则和变量名相同;

整个结构体的定义以分号结尾 

代码示例如下:


 

分析:

该结构体构造了一种数据类型,里面储存了学生成绩的信息,包括学号、名字、分数。stu可形象化为此时我们给予这个结构体的作用和意义,而stu1则是将该结构体的内容给到到具体的对象上。连起来解释就是,stu这个结构体是专门用来储存学生成绩信息的,而stu1则是一个具体的学生,struct  stu  stu1,就是表示储存了张三这个同学的成绩信息;

注意:

在用结构体变量定义变量的时候字符串可以直接赋给成员。但是如果用结构体变量在定义变量的时候没有赋值,在后面单独赋值的时候,字符串不能赋给成员,除非采用注释中的strcpy。

还有以下定义和赋值格式

 

二.结构体数组

我们现在可以储存一个学生的成绩信息,如何储存多个学生的成绩信息呢?

这个时候就要用到结构体数组了

代码示例分析:

 分析:结构体数组,本质上是一个数组,数组中的每一个元素的数据类型为构造的结构体。

在上图的代码中,struct stu 是我们构造的结构体,用来储存学生的成绩信息,而struct stu  s[3]表示s数组中的元素储存的数据类型为struct stu,这个数据类型储存了学生的成绩信息,即每个元素都储存了一个学生的成绩信息,这里总共有三个元素,即储存了三个学生的成绩信息。

同理另外还有以下的定义格式

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

放牛的守护神_

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

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

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

打赏作者

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

抵扣说明:

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

余额充值