空指针:int*p=NULL;等同于int*p;p=NULL;NULL为空的地址
野指针:(指的空间是非法的空间):int*p=(int*)0x1100;
注:0x1100为十六进制的数,(int*)将其转变成为地址(这是不合法 的)
const(常数)修饰指针:
const修饰指针有三种情况:const修饰指针——常量指针;
const修饰长量——指针常量:
const既修饰指针又修饰常量;
1.常量指针:
格式:
![]()
特点:指针的指向可以修改但是指针所指向的值是不可以修改的!
如图,如果修改值,那么就会报错:

如下图:若改变了地址,那么很显然解引用出来的内容应该是b的内容:100(因为地址发生了改变)

2.指针常量
格式:

特点:(注:指针常量和常量指针的特点完全相反了!!)
指针的指向不可以改,但是指针所指的内容可以改变
如图:可以发现是改变指向的那一行出错了

正确结果:

3.既修饰指针又修饰常量
特点:指针的指向和指向的值都不可以更改
(把常量理解为内容,指针理解为所指向的地点)
(谁在前面谁就不能!,既又都不能)
记忆特点:常量指针(指针指向的值不可以改,但是指针的指向可以改)
指针常量(指针的指向不可以改,但是内容可以改)
既修饰指针又修饰常量(指针的指向和内容都不可以改)
本文介绍了C++中空指针、野指针的概念,以及const修饰指针的三种情况:常量指针、指针常量和同时修饰指针与常量的情况。分别阐述了它们的特点,包括指针的指向和所指向值的可修改性。
2728

被折叠的 条评论
为什么被折叠?



