常量指针,指针常量,野指针
来源:互联网 发布:躬匠精神知乎 编辑:程序博客网 时间:2024/06/06 01:53
在我看来,不必太纠结于常量指针和指针常量的汉语名称,一定要记住用法就好了。
记有一指针,p表示地址,*p表示值。
1、常量指针
书写方式有const int *p或者int const *p。
在这种情况之下,const始终在*p之前,也就是说const(常量)修饰*p(指针的值)。*p不能修改,就是说该指针指向的值不能修改。
在这种情况之下,*p是只读的。
#include <iostream>using namespace std;int main(){ int a = 10; int const *p = &a; cout<<a<<endl; cout<<*p<<endl; return 0;}
如果修改*p的值,会报错: assignment of read-only location'*p';
注意,指针指向的对象不能通过这个指针来修改,可是仍然可以通过原来的声明修改,也就是说常量指针可以被赋值为变量的地址,之所以叫做常量指针,是限制了通过这个指针修改变量的值。在上例中可以通过改变a来改变*p的值。
2、指针常量
书写方式是int * const p;
const p表示地址不可改变,也就是说指针常量的地址不可修改。
int a = 10;
int * const p = &a;
此后p始终指向a,不可修改。
3、野指针
迷途指针,也被称为野指针或悬浮指针,是指将delete 用于指针(从而释放它指向的内存),但没有将它设置为空时引发。如果随后你在没有重新赋值的情况下使用该指针,后果将是不可预料的。
上例中在释放内存后,要将地址指向NULL。
delete p;
p = NULL;
为了安全,这是很有必要的。
0 0
- 常量指针,指针常量,野指针
- 常量指针 指针常量
- 常量指针 指针常量
- 指针常量,常量指针
- 常量指针&&指针常量
- 常量指针 指针常量
- 指针常量、常量指针
- 常量指针 指针常量
- 指针常量~常量指针
- 常量指针、指针常量
- 常量指针 指针常量
- 指针常量?常量指针?
- 指针常量 常量指针
- 常量指针,指针常量
- 常量指针 指针常量
- 指针常量 常量指针 常量指针常量
- 常量指针、指针常量、野指针、空指针概念解析
- 常量指针
- 使用Dom4j解析XML
- UVA1595_Symmetry
- php请求超过30秒解决方法
- MVC 模式与 Ajax/API/RIA 模式
- Vuforia SDK----增强现实非凡体验
- 常量指针,指针常量,野指针
- ubuntu13.04,64位安装mit-scheme_9.1.1
- 使用Python与openpyxl进行表格处理(一)——读取数据
- JNI 的初步了解
- addActionError() 与addFieldError (),addActionMessage()比较
- linux命令:mkdir
- Unity bundle的制作和使用
- 创业失败
- UVALive 3942Remember the Word(字典树 + 简单dp)