常量指针与指针常量
2015-06-21 17:28
190 查看
在c++中,指针常量与常量指针是经常听到的概念,很多学生一开始都搞不太清楚:
1、如果指针不可以改变就叫指针常量,如 int *const p = &a;这里的p++或者将p指针其他的地址都的错误,所以叫指针常量
2、如果值不可以改变就叫常量指针,如const int *p = &a;这里如果执行*p = b;那么报错,所以叫常量指针
下面代码演示:
int *const p;//const 后面跟的p那么p就不可以改变
const int * p;//const 后面跟的*p那么*p就不可以改变
注:const int 等于 int const ;既 const int *p = int const *p
1、如果指针不可以改变就叫指针常量,如 int *const p = &a;这里的p++或者将p指针其他的地址都的错误,所以叫指针常量
2、如果值不可以改变就叫常量指针,如const int *p = &a;这里如果执行*p = b;那么报错,所以叫常量指针
下面代码演示:
#include<iostream> using namespace std; void test1(){ int a = 10; int * const p = &a;//指针常量,p不可改变,p++ ERROR *p = 100;//可以通过*p重新给a赋值 cout<<*p<<endl; } void test2(){ int a = 10; int b = 100; const int *p = &a;//常量指针,*p不可以改变 p = &b;//p可以改变指向 cout<<*p<<endl; } int main(){ test2(); return 0; }总结:很多同学可能还是搞不太清楚;这里给个口诀:const后面跟谁谁就不可以改变;
int *const p;//const 后面跟的p那么p就不可以改变
const int * p;//const 后面跟的*p那么*p就不可以改变
注:const int 等于 int const ;既 const int *p = int const *p
相关文章推荐
- SpannableString和ImageSpan类的简单介绍
- BZOJ 4128 Matrix Baby-Step-Giant-Step+矩阵求逆
- Coursera-Machine Learning 笔记(二)Linear Regression with multiple variables
- ftoa浮法成字符串
- Linked List Cycle
- git 远程协作的主要命令
- spring 定时任务相关链接
- arm-linux-gcc-4.3.2安装步骤
- Netlink创建的RTM_NEWROUTE消息
- 黑马程序员——Java基础——泛型
- 15第十六周项目一——平方根的异常
- Android 官方推荐 : DialogFragment 创建对话框
- RegExp正则校验之Java及R测试
- 删除Ubuntu多余的开机启动项(旧的内核)
- MySQL——病型数据库与分区
- 餐饮美食菜品推荐数据表
- 如何查看服务器机房位置
- Word Break
- Scanner 的使用——空字符串的读入
- MySQL——复制