1,指针作为函数参数,
指针可以指向内存中任意一个数据,通过间接引用能够在函数内修改函数外甚至系统中的数据;
为了避免指针作为函数参数导致数据被意外修改,我们可以使用const来保护指针所指向的数据;
2,指针作为函数返回值,
同别的数据类型int,float一样,指针也能够作为函数的一种返回值类型,把返回指针的函数称为指针函数;
返回的指针所指向的数据不能够是函数内部声明的变量;
更灵活的存储,使用数组的时候面临种尴尬:数组的存储空间必须在程序运行前申请,即数组的大小在编译前必须是已知的常量表达式;
空间申请太大造成空间浪费,太小又会造成数据溢出;
所有此处需谨慎,切实的根据实际情况申请内存空间
C++中,允许我们在程序运行时根据自己的需要申请一定的内存空间,称为堆内存空间(heap)
用new操作符来申请堆内存空间;
数据溢出(data foolding)-->指程序运行时将数据存放到较小的空间,
内存泄露(Memory leak)-->只申请内存空间不释放内存空间的情况称为内存泄露,此处申请的空间一般指的是堆内存空间;
释放堆内存空间,delete操作符
delete [] 指向堆内存首元素的指针;
实践测试堆内存空间的申请和回收;
堆内存数组和普通数组在使用上并无区别;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY