C++指针和自由存储空间
在c++中指针是一个变量,存储了值的地址,*运算符被称为解引用运算符,将其应用于指针可以得到该地址存储的值。
int x=23; int *pe=&x;
x和指针变量pe是一个硬币的两面,变量x表示值,通过运算符&来获取地址,pe表示地址,通过*运算符获取值,是完全等价的。
在指针初始化时,被初始化的是指针的地址,而不是指针所指向的值,在c++中,创建指针时将分配存储地址的内存,而不会分配存储指针所指向数据的内存。
指针和变量的关系,变量是编译时分配的有名称的内存,指针为可以通过名称直接访问内存提供了一个别名。
在c++中,在运行阶段分配未命名的内存以存储值,在这种情况下只能通过指针来访问内存。
介绍一下new运算符
为一个数据对象获得并指定分配内存格式如下:
typename *pointer_name=new typename;
必须声明指针所指向的类型,地址只是指出了对象内存的开始,没有指出类型就没有长度信息(字节数),就不知道什么时候结束。
使用delete释放内存,一定要配对使用new 和delete,否则将会导致内存泄漏。
delete释放指针所指向的内存,不会删除指针。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界