20240809嵌入式学习笔记

结构体

用于描述复杂数据的一种数据类型。属于构造类型(用户自定义类型)。

定义类型语法

struct 结构体名(结构体类型名)
{
    成员列表
};

struct:关键字,表示在构造一个结构体的类型

结构体名:一个名称,用来描述结构体这个类型

成员列表:用来描述复杂数据中用到的的成员变量,多成员间用分号隔开

末尾使用分号作为结束

struct student
{
	int tno;
	char name[30];
	char gender;
	int age;
};    //定义出一个数据类型

定义结构体数据类型可以用来定义变量、数组、指针。

定义变量语法

struct+结构体名整体作为数据类型

struct student s;

变量初始化语法

根据各个成员变量类型和顺序,依次初始化。

struct student s = {"jason",1473,93.8,"m"};

结构体类型引用

结构体成员运算符:“ . ”

使用方法:结构体变量名 . 成员名。表示访问结构体的成员。

int num = s.sno;    //访问结构体s中的成员sno
struct student s = {1221,"小明",'1',55};
printf("tno\t:%d\n",s.tno);
printf("name\t:%s\n",s.name);
printf("gender\t:%c\n",s.gender);
printf("age\t:%d\n",s.age);

运行结果: 

tno     :1221
name    :小明
gender  :1
age     :55

结构体数组

用于保存结构体的数组

定义语法

struct student s[3] = {{1234,"叶爱民",'1',28},{1235,"马画龙",'1',31},{1236,"博七七",'1',33}};

struct student s[3] = {1234,"叶爱民",'1',28,1235,"马画龙",'1',31,1236,"博七七",'1',33};

结构体的数据输入和访问一般通过指针来操作。为方便运算,使用指向结构体成员运算符“ -> ”

scanf("%d",(*s).age);
scanf("%d",*s->age);

需要使用结构体指针指向具体成员时,使用" . " 运算,需要使用成员内容时,使用" -> "运算。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值