结构体传参时,传地址而不是传值。理由和实例

简介: 结构体传参时,传地址而不是传值。理由和实例
//结构体传参2种:传地址比传值好,因为:
//struct S
//{
//    int data[1000];
//    int num;
//};
//struct S s = { {1,2,3,4},1000 };
//结构体传参----传值,值如果4000bit 需要创建个4004个bit的新地址,占空间太大,
//而且传值只是临时拷贝,无法修改原数值
//void print1(struct S s)
//{
//    printf("%d\n", s.num);
//}
结构体地址传参----指针变量接收,只占4/8bit,不大,
而且传址可以修改原数值(const锁死之后就不能改原数据)
//void print1(struct S*ps)
//{
//    printf("%d\n", ps->num);
//}
//int main()
//{
//    print(s);//传结构体
//    print(&s);//传地址
//    return 0;
//}

5e693e10eab946b48915c73b7b070533.png

相关文章
|
11月前
|
网络协议 Java 网络安全
如何处理“协议异常”错误
当遇到“协议异常”错误时,通常需要检查网络连接、防火墙设置和软件版本。确保所有组件都是最新的,并尝试重新启动设备或应用程序。如果问题持续存在,请联系技术支持以获取进一步的帮助。
783 59
|
存储 前端开发 Java
Java一分钟之-Java GUI设计原则与模式
本文介绍了Java GUI开发的核心设计原则和模式,包括分层架构(MVC)、组件复用、用户体验和代码示例。强调了MVC模式以提高代码可维护性,组件化设计以增强复用性,以及响应式和简洁界面以提升用户体验。同时,提出了常见问题的避免策略,如布局管理、资源释放和国际化支持,建议开发者遵循这些原则以提升GUI应用质量。
439 3
|
运维 监控 搜索推荐
客户案例 | 识货基于向量检索服务 Milvus 版搭建电商领域的向量数据检索平台
阿里云的Milvus服务以其性能稳定和功能多样化的向量检索能力,为识货团队在电商领域的向量检索场景中搭建业务系统提供了强有力的支持。该服务的分布式扩展能力不仅可靠,而且能够适应日益增长的数据规模。
客户案例 | 识货基于向量检索服务 Milvus 版搭建电商领域的向量数据检索平台
|
网络协议 网络性能优化 调度
|
SQL 数据可视化 关系型数据库
MySQL命令行与可视化工具
MySQL命令行与可视化工具
|
机器学习/深度学习 数据采集 PyTorch
PyTorch使用神经网络进行手写数字识别实战(附源码,包括损失图像和准确率图像)
PyTorch使用神经网络进行手写数字识别实战(附源码,包括损失图像和准确率图像)
401 1
|
SQL 存储 关系型数据库
真正线上索引失效的问题是如何排查的
MySQL索引失效是一种常见问题,在处理慢查询时经常需要考虑索引失效的可能性。 针对索引失效的排查,关键步骤包括确定需要分析的SQL语句,并通过`EXPLAIN`查看其执行计划。主要关注`type`、`key`和`extra`这几个字段。
真正线上索引失效的问题是如何排查的
|
存储 监控 算法
深入理解操作系统:进程管理与性能优化
【5月更文挑战第27天】 在现代计算环境中,操作系统的高效运行对于保障系统稳定性和提升用户体验至关重要。本文将深入探讨操作系统的核心组成部分——进程管理,以及如何通过进程管理实现系统性能的优化。我们将分析进程调度策略、死锁问题解决方案以及内存管理技术,并讨论它们对系统响应时间、资源利用率及吞吐量的影响。文章还将介绍一些实用的性能监控和调优工具,帮助读者在实际工作中有效诊断和解决性能瓶颈问题。
|
移动开发 小程序 Android开发
mPaaS常见问题之pixel4 android 13 调用移动网关 报这个错如何解决
mPaaS(移动平台即服务,Mobile Platform as a Service)是阿里巴巴集团提供的一套移动开发解决方案,它包含了一系列移动开发、测试、监控和运营的工具和服务。以下是mPaaS常见问题的汇总,旨在帮助开发者和企业用户解决在使用mPaaS产品过程中遇到的各种挑战
309 0