您的位置:首页 > 编程语言 > C语言/C++

C++学习笔记之指针和const

2018-01-16 20:27 369 查看
指针本身是一个变量,本质上是一个存放其他变量的地址的变量。

与const有关的指针可以分为3种:

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

指向常量的指针
指针本身的值(地址)可以修改(比如赋予新的地址,使之指向另一个变量),但指向的常量的值不能修改。

const int a=1;
int *ptr=&a;
*ptr=2;//错误,指向的变量是个常量,不能修改

常量指针
指针本身的值(地址)不能修改,但是可以通过指针修改指针指向的普通变量的值。

格式:type *const name

注意*号在const之前

int a=1;
int *const ptr=&a;
*ptr=2;//通过指针修改指向的变量的值
cout<<"a="<<a<<endl;

输出:a=2

指向常量的常量指针
指针本身的值(地址)不能修改,指向的常量的值也不能修改。

格式:const type *const name

第一个const表示指针指向了一个const常量

第二个const表示指针是个常量指针

const int a=1;
const int *ptr=&a;
*ptr=2;//错误,指向的变量是个常量,不能修改参考资料:《C++ Primer》
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: