结构体简单理论知识
为什幺使用结构体
有的时候我们需要把不同类型的数据封装成一个整体,以便于引用。
结构就类似于类 一个类就是将方法属性封装起来 而结构简单说是将 一些变量组合在一起。
定义一个结构的一般形式
struct 结构名
{
成员列表 //必须进行类型声明
}变量名表列;
例如:
struct People { char *name; char sex int age; }people1,people2;
结构的嵌套定义:
struct Date { int year; int month; int day; }; struct Boy { int num; char *name; char sex; struct Date birthday; }boy;
结构体变量的引用:
在引用变量的时候不能将一个结构体变量作为一个整体进行输入输出(在引用的时候应该是 结构体变量名.成员名)
‘.’是成员运算符 它所在的运算符中优先级最高 所以 (结构体变量名.成员名)可以看成一个整体 不用加括号
可以引用结构体变量成员的地址也可以引用结构体变量的地址。
结构体变量的地址主要用作函数参数,传递结构体变量的地址。
同一个结构体中的结构体变量名之间可以直接进行整体赋值。
结构体数组:
每一数值的元素都是一个结构体变量
结构体数组的定义与初始化
struct student { char *name; char sex; int age; }stu[2]={ {"张三",'M',17}, {"李四",'M',18} };
指向结构体数据类型的指针:
一个结构体变量的指针就是该结构体变量所占据的内存段的起始地址,
所以我们就可以定义一个指针,用来指向一个结构体变量,此时指针变量的值就是结构体变量的起始地址。
结构指针的定义:struct 结构名 *结构指针变量名
初始化过程 结构指针变量=&结构变量 //正确
结构指针变量=&结构名 //错误
在这里我们不能混淆结构名和结构变量的理解
结构名只能表示一个结构形式,在编译时并不会分配内存空间 所以也不会有地址。
用结构指针变量进行访问的方式:
(*结构指针变量).成员名 或 结构指针变量->成员名
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律