指针内容总结

因为内存是有序的字节序列,每个字节都有唯一的地址,所以使用这个地址就可以确定字节的位置。这样获得值的方法就叫做指针。

要获取对象的地址,就不得不提取地址运算符。在scanf中,我们也见过取地址运算符:&。

定义指针:int *p;

前面的数据类型并不是指针的类型,而是指针指向的数据的类型。其中的p存放地址,使用的时候不是使用*p,而是直接用p来存放地址。

要间接操作地址上的内容,不仅需要指针p,还要用取地址运算符"*",例如*p=&a;

new

new运算符在堆上动态分配空间,创建对象并返回对象的地址。头文件<new>。

定义:int *p=new int(0); //在堆上分配一个int类型的对象并返回它的地址,小括号里面的是初始值。

new也可以在堆上分配指定类型和大小的数组,返回首地址,但是不能对数组进行显式初始化。

定义:int *p=new int[100];

数组大小可以不必指定,被称为动态数组,但是对数组使用的某些函数不能用在它身上,如gegin(),end();

delete

堆上的空间在使用后必须释放,否则会造成内存泄漏。

对对象delete的方式为:

delete 指针; //单个对象

或者delete [ ]指针。//定义数组。

delete后的ip不是空指针,而是"空悬指针"。ip中保存的值仍是delete之前的地址值,但是这个地址单元的使用权已经归还给动态存储区。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值