1.软文推荐

2.软文推荐

3.软文推荐

当用const进行修饰时,根据const位置的不同有三种不同效果。 判断的标准是:const修饰谁,谁的内容就是不可变的。

const修饰指针变量时候有三种情况:

1 const 修饰取值操作(修饰星号*)
int a = 10;
const int* p1 = &a;
const int *p2 = &a;
int const* p3 = &a;
int const *p4 = &a;

以上两种指针p1,p2,p3,p4的声明等价,当const在星号 * 前面,此时可以理解为const修饰的是星号和变量 (*p)(指针的取值操作),限定了指针p1-p4取值操作是只读的,不能修改,但是p1-p4指针变量是可以修改的。

*p1 = 100; //error 取值时是只读的,无法修改a的值
p1 = NULL; //不报错,指针的指向是可以更改的。
2 const 修饰指针变量
int* const p1 = &a;
int *const p2 = &a;

以上两种声明等价,当const在星号 * 和变量名之间,可以理解为const修饰的是指针变量p1,p2,即指针p1和p2的值(指向)不能修改,但是p1,p2的取值操作时候的值可以修改。 声明时必须初始化指针变量,一旦完成初始化就不能再指向其他地址。

*p1 = 100; //合法,此时a的值变为100
p1 = NULL; //error,指针变量的指向不能修改
3 两个const修饰
const int* const p1 = &a;

此时p1的指向不能修改,且p1的取值操作的值也不能修改

*p1 = 100; //error
p1 = NULL; //error
a = 100; //并不影响pi指向的a的值的修改

本文来源:www.lxlinux.net/8249-2.html,若引用不当,请联系修改。

相关文章 8

1

云计算有什么用(云计算的作用有哪些) 1分钟前

目录:1、云计算有什么用?2、云计算有哪些应用3、云计算的概念是什么,它起什么作用吗?云计算有什么用? 云计算是一种按使用量付费...

3

国外服务器测评(国外服务器排名) 5分钟前

目录:1、请问外资企业,一定要做网络安全等保测评吗(3级,2级...)?信息数据库服务器在中国境外,应如何操作?2、国外的服务器要哪...

6

国外免备案cdn加速(国内不用备案的cdn) 12分钟前

目录:1、国外cdn加速节点怎么加速国内资源2、国外空间可以使用cdn加速吗3、有没有好的高防CDN服务器搭建方案?4、免备案cdn是什么国外...

8

南宁服务器(南宁服务器硬盘数据恢复) 16分钟前

目录:1、广西南宁哪里有买DELL服务器的,公司网站建设需要买一台DELL服务器2、广西服务器托管,南宁服务器托管,哪家网络公司最好!?...