当前位置: 首页 > news >正文

手机网站设计费用衡水网站建设培训学校

手机网站设计费用,衡水网站建设培训学校,最新手机发布会,html网页设计作品代码编写C 结构体、结构体指针与结构体指针数组详解 1. 结构体 (Struct) 结构体是C中一种用户自定义的数据类型,它允许你将不同类型的数据组合在一起。 基本用法 // 定义一个结构体 struct Student {int id; // 学号string name; // 姓名float score; // …

C++ 结构体、结构体指针与结构体指针数组详解

1. 结构体 (Struct)

结构体是C++中一种用户自定义的数据类型,它允许你将不同类型的数据组合在一起。

基本用法

// 定义一个结构体
struct Student {int id;         // 学号string name;    // 姓名float score;    // 成绩
};// 使用结构体
int main() {// 创建结构体变量Student stu1;// 访问结构体成员stu1.id = 101;stu1.name = "张三";stu1.score = 89.5;// 初始化结构体Student stu2 = {102, "李四", 92.0};return 0;
}

2. 结构体指针

结构体指针是指向结构体变量的指针,通过指针可以访问和操作结构体成员。

基本用法

int main() {Student stu = {103, "王五", 85.5};// 创建结构体指针Student* pStu = &stu;// 通过指针访问成员// 方法1:使用 -> 操作符cout << "ID: " << pStu->id << endl;cout << "Name: " << pStu->name << endl;// 方法2:先解引用再使用 . 操作符cout << "Score: " << (*pStu).score << endl;return 0;
}

3. 结构体指针数组

结构体指针数组是存放多个结构体指针的数组,常用于管理多个结构体对象。

基本用法

int main() {// 创建几个学生结构体Student stu1 = {101, "张三", 89.5};Student stu2 = {102, "李四", 92.0};Student stu3 = {103, "王五", 85.5};// 创建结构体指针数组Student* stuArray[3] = {&stu1, &stu2, &stu3};// 访问结构体指针数组元素for(int i = 0; i < 3; i++) {cout << "学生" << i+1 << ": " << stuArray[i]->name << ", 成绩: " << stuArray[i]->score << endl;}// 动态分配的结构体指针数组Student** dynamicArray = new Student*[3];dynamicArray[0] = new Student{104, "赵六", 78.0};dynamicArray[1] = new Student{105, "钱七", 95.0};dynamicArray[2] = new Student{106, "孙八", 88.5};// 使用后记得释放内存for(int i = 0; i < 3; i++) {delete dynamicArray[i];}delete[] dynamicArray;return 0;
}

实际应用示例

#include <iostream>
#include <string>
using namespace std;struct Book {string title;string author;float price;
};void printBookInfo(const Book* book) {cout << "《" << book->title << "》" << " 作者: " << book->author << " 价格: " << book->price << "元" << endl;
}int main() {// 创建几个图书结构体Book book1 = {"C++ Primer", "Stanley Lippman", 128.0};Book book2 = {"Effective C++", "Scott Meyers", 99.0};Book book3 = {"Design Patterns", "Erich Gamma", 89.5};// 创建图书指针数组Book* library[3] = {&book1, &book2, &book3};// 打印所有图书信息cout << "图书馆藏书列表:" << endl;for(int i = 0; i < 3; i++) {printBookInfo(library[i]);}return 0;
}

总结

  1. 结构体:将不同类型的数据组合成一个新的数据类型
  2. 结构体指针:指向结构体的指针,使用->操作符访问成员
  3. 结构体指针数组:存储多个结构体指针的数组,适合管理大量结构体对象

结构体指针和指针数组在管理大量数据时非常有用,可以减少数据复制的开销,提高程序效率。

http://www.dtcms.com/a/461099.html

相关文章:

  • 专业网站建设市场网站开发时app打开很慢
  • 悟空AI CRM15版本 客户标签 功能
  • 【开题答辩实录分享】以《面向农业领域的智能灌溉系统》为例进行答辩实录分享
  • JVM 永久代垃圾回收深度解析
  • 什么是电迁移?
  • 编程记录五
  • 【硬核配置】MySQL配置文件my.cnf/ini全参数深度解析:从入门到高可用架构调优
  • QEM算法原理与实现 (QEM Algorithm Explained)
  • 网站建设都有哪些宁德市住房和城乡建设局网站打不开
  • 嘉兴网络建站模板网站建设选择题
  • Apple M3 MacOS arm64 编译QGroundControl5.0.8(base on Qt 6.8.3)
  • web socket消息推送
  • MyBatis入门指南:从零掌握数据库操作
  • OpenTiny TinyVue组件有哪些常用组件?
  • 马鞍山市住房和城乡建设部网站软件公司宣传册设计样本
  • kafka3.9集群部署-kraft模式
  • 动态图表导出与视频生成:精通Matplotlib Animation与FFmpeg
  • 【ES实战】ES6.8到9.1.4的常用客户端变化
  • CFS三层靶机-内网渗透
  • 【智慧城市】2025年中国地质大学(武汉)暑期实训优秀作品(6):武汉视界
  • Redis的缓存更新策略
  • MarsEdit 5 for Mac 博客博文编辑管理工具
  • 蒙古语网站建设江西省飞宏建设工程有限公司 网站
  • 智能监控项目:Python 多目标检测系统 目标检测 目标跟踪(YOLOv8+ByteTrack 监控/交通 源码+文档)✅
  • 分布式光纤传感:照亮每一个角落的“温度感知神经”
  • 实测Triton-Copilot:AI如何助力高性能算子开发
  • 泰州网站专业制作能免费做片头的网站
  • 京东获取整站实时商品详情数据|商品标题|数据分析提取教程
  • 【Linux探索学习】第一篇Linux的基本指令(2)——开启Linux学习第二篇
  • Redisson 看门狗机制深度解析:分布式锁的守护者