(持续更新)c++指针

指针的基本概念和使用

指针的作用:可以通过指针间接访问内存

  • 内存编号是从0开始记录的,一般用十六进制数字表示
  • 可以利用指针变量保存地址

 

指针变量的定义和使用

指针变量的语法:数据类型 *变量名;

例如:

int a;

int *p;

p=&a; //指针p指向a的地址

也可以写做:

int *p=&a;

cout<<*p<<endl; //打印出a的值

其中,*p即解引用,即找到指针指向的内存中的数据

 

空指针和野指针

1.空指针

定义:指针变量指向内存中编号为0的空间

用途:初始化指针变量

注意:空指针指向的内存是不可以访问的,0~255之间的内存编号是系统占用的

 int *p=NULL; //空指针用于给指针变量进行初始化

*p=100; //试图改变内存中的值,报错 

 

2.野指针

定义:指针变量指向非法的内存空间

int *p=(int *)0x1100; //指针变量p指向内存编号为0x1100的空间

cout<<*p<<endl; //访问野指针报错

 

const修饰指针

1.const修饰指针

const int *p=&a;

图中:

*p=20; 错误,指针指向的值不可以改

p=&b; 正确,指针的指向可以改 

(常量指针)

特点:指针的指向可以修改,但指针指向的值不可以修改

 

2.const修饰常量

 int * const p=&a; 

 图中:

*p=20; 正确,指向的值可以改

p=&b; 错误,指针的指向不可以改

(指针常量)

特点:指针指向的值可以改,指针的指向不可以修改

 

3.const既修饰指针,又修饰常量

const int * const p=&a;

图中:

*p=20; 错误

p=&b; 错误

特点:指针的指向和指针指向的值都不可以修改

 

posted @ 2024-03-01 14:12  バカなの  阅读(4)  评论(0编辑  收藏  举报