程序员之路:C++常量指针和指针常量
2017-11-02 18:14
274 查看
这个问题,我看了三遍,看完就忘记,写下来给未来的自己看
首先,先来一个段代码再说
简而言之,就是const修饰谁,谁就是常量,这里把“*”(星号),理解为独立的字符——指针,就比较好理解了
1、常量指针:
按照,从左往右读,
常量const,指针*,这里把*p,看做一个整体,被const修饰,所以:
*p的值,即a的值,不能通过*p修改;
p的值,即p指向的变量可以修改,上述代码中就把p重新指向了b
2、指针常量:
依然从左往右读,
指针*,常量const,const修饰q,所以:
q的值,不能被修改;
*q的值,可以被修改;
3、最后一个是指正和变量都是常量,均不能被修改
本文参考百度知道,写的其实很清楚了,如果觉得本文内容繁琐,可以参考如下链接
参考:https://zhidao.baidu.com/question/349376199.html
欢迎交流 博主QQ:1940607002
首先,先来一个段代码再说
#include <iostream> using namespace std; int main(){ int a=5; int b=6; //常量指针 //*p不可修改 *p = 8;(ERROR),p 可以修改 p = &b (OK) const int *p=&a; cout<<"*p:"<<(*p)<<endl; p=&b; cout<<"*p:"<<(*p)<<endl; //*p=6;error //指针常量 //*p可以修改*p = 8;(OK),p不可以修改 p++(ERROR) int *const q=&a; cout<<"*q:"<<(*q)<<endl; *q=7; cout<<"*q:"<<(*q)<<endl; const int * const pq = &a; // *p 和 p均不可改变了 return 0; }
简而言之,就是const修饰谁,谁就是常量,这里把“*”(星号),理解为独立的字符——指针,就比较好理解了
1、常量指针:
const int *p=&a;
按照,从左往右读,
常量const,指针*,这里把*p,看做一个整体,被const修饰,所以:
*p的值,即a的值,不能通过*p修改;
p的值,即p指向的变量可以修改,上述代码中就把p重新指向了b
p=&b;
2、指针常量:
int *const q=&a;
依然从左往右读,
指针*,常量const,const修饰q,所以:
q的值,不能被修改;
*q的值,可以被修改;
*q=7;
3、最后一个是指正和变量都是常量,均不能被修改
const int * const pq = &a; // *p 和 p均不可改变了
本文参考百度知道,写的其实很清楚了,如果觉得本文内容繁琐,可以参考如下链接
参考:https://zhidao.baidu.com/question/349376199.html
欢迎交流 博主QQ:1940607002
相关文章推荐
- C++指向常量的指针和常指针
- C++基础之二:常量指针和指针常量
- c/c++中的数组指针,指针数组,常量指针和指针常量
- C++易混知识点1: 指针常量和常量指针的区别,附有详细案例解释
- 【C/C++】常量指针、指针常量以及指向常量的指针常量
- c++ const_cast操作符、指针常量和常量指针的解释
- 关于实例声明:C++中指针常量和常量指针的问题
- C/C++指针常量和常量指针
- [C++基础]018_常量指针和指向常量的指针
- C++ 指针常量、常量指针和常指针常量
- c++中常量指针(int const * p),指针常量(int * const p )
- c++高级---C++类中的常量以及cosnt指针的理解
- C++ 语法实验室之指针、常量const、字符串和等号初学误区理解
- C++的this指针和常量指针、指针常量的区别
- C++AndC#----我的程序员之路
- 【转】C++易混知识点1: 指针常量和常量指针的区别,附有详细案例解释
- 再学C/C++ 之 指针常量 和 常量指针
- 【编程语言】C++----常量指针与指针常量的区别
- 【转】C++程序员成长之路
- C++常指针与指针常量