liyanbo的个人博客分享 http://blog.sciencenet.cn/u/liyanbo

博文

常量指针和指向常量的指针

已有 1964 次阅读 2016-3-28 09:36 |个人分类:C++|系统分类:科研笔记

1 常量指针!如 int b, c; int * const a = &b; 表示a是一个常量指针它指向变量b的内存。但是因为是常量指针所以不能再用a指向其他变量,

如 a = &c; 错误!可以修改指向内存的值,如:*a = 20; BTW 常量指针声明的时候必须向我那样赋初值。

2 指向常量的指针!如 int b, c; int const *a; a = &b; a = &c; 都可以,唯独它指向的内存不能被修改。如:*a=20;这是违法的!错误!

 const int *a = &b 与 int const *a,也是指向常量的指针.

3 const int* const a = &b,指向常量的常指针.

 

判断常量指针指向常量的指针看const出现在*的左边还是右边,如果const出现在*的左边,指向常量的指针,出现在右边,常量指针(指针自身是常量).const在星前物后针.

左边,右边可能会记反,可以用这个规则辅助记忆.const前面就是其类型,第一种,const就是针对int的指针,第二种,const就是针对指向的int值.



https://blog.sciencenet.cn/blog-1515646-965478.html

上一篇:C++基本概念
下一篇:高端一点排序
收藏 IP: 159.226.43.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-11-24 12:23

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部