C语言之结构体讲解(一)

简介: C语言之结构体讲解

对于上期指针初阶(2)我们后期还会讲数组指针是什么?大家可以先思考一下,后期我们会讲

1.结构体的声明

结构是一些值的集合,这些值被称为成员变量,结构的每个成员可以是不同类型的变量

数组是一组相同元素的集合

结构体其实是一组不一定相同类型元素的集合

在我们生活中

人:名字+性别+年龄+身高+身份证号码+地址.......

书:书名+作责+出版社+定价+书号......

复杂对象,不能通过内置类型直接描述和表示,就有结构体来描述复杂类型

看下图,我们应该怎么理解结构体呢???

左半边是结构体类型,右半边是结构体变量

结构体就相当于是相当于盖房子的图纸,拿着图纸照着图纸盖好一个房子,这个盖好的房子就能装东西了,图纸上是不能装东西的,右边的变量就向内存申请空间,有了类型我们就可以初始化了,根据结构体类型来初始化

这里的s2,s3,s4就是结构体变量,并且是全局变量,看下图

这里的typedef的意思是类型重命名,对struct Stu重命名为Stu,那也就是struct Stu s1 == Stu s1,在C语言中,没有对结构体类型typedef,struct关键字不能省略,希望大家能够多加注意

相关文章
|
22天前
|
存储 C语言
如何在 C 语言中实现结构体的深拷贝
在C语言中实现结构体的深拷贝,需要手动分配内存并逐个复制成员变量,确保新结构体与原结构体完全独立,避免浅拷贝导致的数据共享问题。具体方法包括使用 `malloc` 分配内存和 `memcpy` 或手动赋值。
30 10
|
22天前
|
存储 大数据 编译器
C语言:结构体对齐规则
C语言中,结构体对齐规则是指编译器为了提高数据访问效率,会根据成员变量的类型对结构体中的成员进行内存对齐。通常遵循编译器默认的对齐方式或使用特定的对齐指令来优化结构体布局,以减少内存浪费并提升性能。
|
26天前
|
编译器 C语言
共用体和结构体在 C 语言中的优先级是怎样的
在C语言中,共用体(union)和结构体(struct)的优先级相同,它们都是用户自定义的数据类型,用于组合不同类型的数据。但是,共用体中的所有成员共享同一段内存,而结构体中的成员各自占用独立的内存空间。
|
26天前
|
存储 C语言
C语言:结构体与共用体的区别
C语言中,结构体(struct)和共用体(union)都用于组合不同类型的数据,但使用方式不同。结构体为每个成员分配独立的内存空间,而共用体的所有成员共享同一段内存,节省空间但需谨慎使用。
|
1月前
|
编译器 C语言 C++
C语言结构体
C语言结构体
25 5
|
1月前
|
C语言
C语言结构体链式结构之有头单链表
文章提供了一个C语言实现的有头单链表的完整代码,包括创建链表、插入、删除和打印等基本操作。
21 1
|
1月前
|
C语言
初识C语言6——结构体
初识C语言6——结构体
18 3
|
1月前
|
存储 编译器 C语言
【C语言】探索结构体基础知识:简明概要
【C语言】探索结构体基础知识:简明概要
|
1月前
|
编译器 Linux C语言
C语言 之 结构体超详细总结
C语言 之 结构体超详细总结
18 0
|
1月前
|
存储 编译器 Linux
深入C语言:探索结构体的奥秘
深入C语言:探索结构体的奥秘