嵌入式学习笔记总结Day15

本文详细介绍了C语言中结构体的概念、声明与定义、结构体变量的引用、结构体数组、指向结构体的指针使用以及不同平台上的对齐规则,帮助读者理解结构体在内存管理中的优化技巧。
摘要由CSDN通过智能技术生成

        今天首先复习了指针与二维数组,然后学习了结构体

1.概念

         结构体是一种数据类型,但c语言中并没与提供这种现成的数据类型,需要我们在使用时,根据续期自己去定义。声明一个结构体的一般形式如下:

struct  结构体名

{

成员类型 成员名1;

成员类型 成员名2;

....

};

注意:一定不要忘了结尾花括号后的分号

2.定义结构体类型的变量

当定义了一个结构体后,就可以定义结构体类型的变量了

一般定义形式如下:struct student s:前两个是结构体类型名,后面接着变量名

3.结构体变量的引用

(1)结构体变量名.成员名    其中.是结构体成员运算符,表示“的”的意思

(2)结构体变量的地址->成员名  其中->是指向结构体成员的运算符,一般当前面是结构体变量的地址时可以使用。

4.结构体数组

一个结构体变量可以存放一组数据(如一个学生的姓名,学号,成绩等),当有十个学生的数据需要参与运算,这时就可以用数组。这就是结构体数组。与结构体变量的定义类似:struct student a[10];这时a数组中就有三个struct student类型的数据,初始化参考普通数组;

5.指向结构体数据的指针

在定义一个函数需要调用一个结构体的数据时,因为结构体的特性,其中的数据一般都很大,如果直接传数据,程序运行的效率就满了,但是用指针的话就不用,直接将结构体变量的地址传递过去即可。

同样,咋定义一个指向结构体变量的指针时的一般形式为:struct student *p;

这时我们对结构体成员的调用方式有以下几种:

(1)结构体变量.成员名

(2)(*p).成员名

(3) p->成员名

6.结构体的对齐规则

1.在32位平台上,默认都是按4字节对齐的

2.对于各成员变量,在各自的自然边界上对齐,

3,如果成员变量中有比4字节大的,此时整个结构体按照4字节对齐,

4,如果成员变量中没有比4字节大的,此时整个结构体按最大的那个成员对齐

注意:如果在64位系统中,默认是8字节对齐。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值