网站做实名验证长沙旅游文案

张小明 2026/1/9 14:35:48
网站做实名验证,长沙旅游文案,白鹭引擎做h5网站,编写小程序深入理解C指针与动态内存管理 一、指针的基本概念 指针是C中强大而重要的特性#xff0c;它是一个变量#xff0c;存储的是内存地址而不是值本身。通过指针#xff0c;我们可以直接操作内存#xff0c;实现高效灵活的内存管理。 1.1 获取变量地址 int donuts 6; double cu…深入理解C指针与动态内存管理一、指针的基本概念指针是C中强大而重要的特性它是一个变量存储的是内存地址而不是值本身。通过指针我们可以直接操作内存实现高效灵活的内存管理。1.1 获取变量地址intdonuts6;doublecups4.5;coutdonuts地址: donutsendl;// 使用获取地址coutcups地址: cupsendl;1.2 声明和使用指针intupdates6;int*p_updates;// 声明指向int的指针p_updatesupdates;// 将updates的地址赋给指针cout值: updates updates;cout, *p_updates *p_updatesendl;// *解引用获取值cout地址: updates updates;cout, p_updates p_updatesendl;*p_updates*p_updates1;// 通过指针修改值cout现在 updates updatesendl;// 输出: 7二、指针声明和初始化的细节2.1 指针声明方式int*ptr;// C风格强调类型int*ptr;// C风格强调*ptr是int值int*ptr;// 中间风格空格不影响// 注意下面声明一个指针p1和一个int变量p2int*p1,p2;// p1是指针p2是普通int变量2.2 不同类型指针double*tax_ptr;// 指向double的指针char*str;// 指向char的指针// 虽然都是指针但类型不同不能混用三、动态内存管理new和delete3.1 使用new分配内存int*pnnewint;// 分配一个int大小的内存double*pdnewdouble;// 分配一个double大小的内存*pn1001;// 在分配的内存中存储值*pd10000001.0;3.2 使用delete释放内存int*psnewint;// 分配内存// 使用内存...deleteps;// 释放内存psnullptr;// 好习惯释放后设为空指针重要规则new和delete必须配对使用不要delete非new分配的内存不要重复delete同一块内存对空指针delete是安全的四、动态数组4.1 创建动态数组int*psomenewint[10];// 创建10个int的动态数组4.2 使用动态数组double*p3newdouble[3];p3[0]0.2;// 像普通数组一样使用p3[1]0.1;p3[2]0.8;// 指针算术p3p31;// 指针移动到下一个元素coutp3[0]现在是: p3[0]endl;// 输出0.1p3p3-1;// 移回开头delete[]p3;// 释放数组内存4.3 释放动态数组delete[]psome;// 注意释放数组要加[]五、指针与C编程哲学5.1 编译时决策 vs 运行时决策编译时决策数组大小固定效率高但缺乏灵活性运行时决策使用new动态分配灵活适应不同情况// 编译时决策 - 固定大小intstaticArray[20];// 总是分配20个元素// 运行时决策 - 动态大小intsize;cout需要多少元素;cinsize;int*dynamicArraynewint[size];// 按需分配5.2 内存管理区域栈(stack)存储局部变量、函数参数等自动管理堆(heap)/自由存储区(free store)new分配的内存需手动管理六、实用建议和注意事项6.1 指针安全实践// 1. 总是初始化指针int*ptrnullptr;// 好习惯// 2. 检查指针是否有效if(ptr!nullptr){*ptr10;}// 3. 使用delete后设为nullptrdeleteptr;ptrnullptr;6.2 避免常见错误// 错误1未初始化指针int*badPtr;// 危险包含垃圾值// *badPtr 5; // 可能导致程序崩溃// 错误2内存泄漏voidleakMemory(){int*leaknewint[100];// 忘记delete[] leak;}// 错误3悬空指针int*danglingnewint;deletedangling;// *dangling 10; // 错误内存已释放总结指针是C内存管理的核心工具它提供了灵活性运行时决定内存分配效率直接内存操作减少拷贝控制力精细管理内存生命周期关键要点理解指针存储的是地址使用*解引用获取值使用new和delete配对管理动态内存区分delete和delete[]的使用场景始终保持良好的指针使用习惯掌握指针需要时间和实践但它是成为高效C程序员的关键一步。从理解基本概念开始逐步练习动态内存管理最终你将能够编写出既高效又灵活的C程序。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

企业网站建设维护合同书网络短剧免费观看

FilamentPHP 3.3.15:重构表单引擎,解决企业级开发痛点 【免费下载链接】filament filament:这是一个基于Laravel框架的模块化CMS系统,适合搭建企业级网站和应用程序。特点包括模块化设计、易于扩展、支持多语言等。 项目地址: h…

张小明 2026/1/8 4:53:28 网站建设

网站更换空间注意高端的程序开发

打造可靠 Samba 网络:性能、可靠性与可用性全解析 1. 引言 在当今喧嚣繁杂的网络世界里,就如同一只麻雀的声音很容易被周围的嘈杂所淹没一样,那些能够提升 Samba 网络可靠性和可用性的简单方法,也常常被宏大的 Samba 集群设计讨论声所掩盖。虽然集群设计很重要,但本文不…

张小明 2025/12/27 5:39:11 网站建设

网站搜索怎么做青岛公司建站

目录 引言:信创深水区下的国产数据库发展新坐标 核心技术架构:从自主可控到场景化创新 主流产品全景解析:技术路线与行业适配性对比 实战落地体系:迁移方法论与性能优化实践 典型行业案例:核心场景国产化替代深度复…

张小明 2025/12/30 18:14:53 网站建设

免费外贸自建网站公司的分类

提示词:你是一个大学教授,面对AI的崛起,基础知识是否还重要,应该如何更高效学习基础知识,基础知识对创新有何帮助。请以大学教授的身份,具体回答每个问题,并举例说明!回答&#xff1…

张小明 2025/12/27 5:39:10 网站建设

网站跟app的区别是什么意思濮阳建设企业网站公司

一、情绪 AI 的传统问题并不在模型本身在很多情感 AI 项目中,讨论焦点往往集中在:模型结构是否足够先进识别准确率是否足够高是否能覆盖更多情绪类别但在实际工程中,情绪 AI 的瓶颈往往不在模型,而在数据层:情绪数据难…

张小明 2025/12/27 5:39:16 网站建设

网站建设选超速云建站申请个人网址

在当今快速迭代的软件开发环境中,测试团队不再是简单的“bug发现者”,而是保障产品质量、推动技术创新的关键力量。随着敏捷开发、DevOps和持续集成/持续部署(CI/CD)的普及,测试工作面临着更高的效率要求和更复杂的协作…

张小明 2025/12/27 5:39:14 网站建设