有时候需要将不同类型的数据组合为一个整体,以便于引用。例如,一名学生有学号、姓名、性别、年龄、地址等属性,如果针对学生的学号、姓名、年龄等都单独定义一个变量,那么在有多名学生时,变量就难以分清。为此,C语言提供结构体来管理不同类型的数据组合。

利用sarr 存储

记住%c前要加空格
Sarr 结构体内容存储

他的字节是不是63呢?
不是 不能人工去算是多少

//结构体所占用的空间是68个字节,因为存在对齐,对齐目的是提高cpu访问内存的效率

不能这么写 因为优先级问题
. 是最高优先级
解决办法

另外一种写法

箭头指向
计算

先将++去掉 p->num num=1001 ,
p->num++ 中->运算符等级在++前面 所以加的是这个整体 1001+1=1002
第二个就是p+±>num; p->num ==1002 (要和上面结合)
p+±>num;c语言中顺序是自右到左的 所以只有p++ 原来指向sarr[0 ] 运算之后指向了sarr[1] 1005
C语言结构体与数据组合
C语言中的结构体允许将不同类型的数据组合在一起,便于管理多个属性,如学生的学号、姓名、年龄等。结构体在内存中占据68个字节,考虑到内存对齐以提高CPU访问效率。在操作结构体成员时,需要注意运算符的优先级,例如`p->num++`会先执行成员访问再进行自增操作。
374

被折叠的 条评论
为什么被折叠?



