const型指针是学习计算机编程语言常遇到的问题,如何区分形如const*、*const等的const型指针,本文将做些介绍。

1)判断const指针——看const 的位置。

const int *p;  //常量指针,const在int前面

int * const p=&b;       //指针常量,const在p前面

2)指向常量的指针(常量指针)

关键字const 在最前面(相对于*)

它既可以指向常量,也可以指向变量,但是不能通过它修改它所指向的量。(指针可变,其所指向的内容不可变)

定义格式:const <数据类型> * <指针变量名>;

或<数据类型> const * <指针变量名>

例:

const int * p;

const int a=5;

int b;

p=&a;  //合法,p指向常量

p=&b;    //合法,p指向变量

*p=10;  //不合法,不能通过p间接地修改它所指向的量

3)指针常量

关键字const 在后面(相对于*)

这种指针,不能改变指针的指向,即指针本身是常量,不允许重新赋值。必须在定义时初始化。(指针不可变,其所指向的内容可变)

定义格式:<数据类型> * const <指针变量名>;

例:

int a,b;

int * const p=&a;              //必须初始化

*p=15;  //合法,可以通过p间接访问变量a,给其赋值。

b=*p;   //合法,可以取出p所指向的值

p=&b;   //不合法,不可以给p重新赋值

4)指向常量的指针常量

*前后都有const。

不能通过该指针改变它所指向的量,也不能指针本身指向。

定义格式:const<数据类型> * const <指针变量名>;

eg:

int a,b;

const int * const p=&a;  //初始化

*p=15;   //不合法,不能通过p改变它所指向的量

p=&b;    //不合法,不可以给p重新赋值

const型指针区别 const * 和* const相关推荐

  1. const char *str,char const *str,char *const str的区别,及const详解

    c和c++中有三种定义: 1.const char *str, 2.char *const str, 3.char const *str. 现总结三者之间的区别: 一 char *const str ...

  2. const指针 与指向const的指针的区别

    const 指针与指向const的指针 当使用带有const的指针时其实有两种意思.一种指的是你不能修改指针本身的内容,另一种指的是你不能修改指针指向的内容.听起来有点混淆一会放个例子上来就明白了. ...

  3. const修饰指针和引用的用法【转贴】

    *************************************************** 更多精彩,欢迎进入:http://shop115376623.taobao.com ****** ...

  4. C++ const 引用 指针答疑

    常变量 const int a 常引用 const int &a 常指针 const int *a const * int a 用法1:常量     取代了C中的宏定义,声明时必须进行初始化( ...

  5. 【C++】const与指针

    目录 一.C与C++中const的区别 二.const与指针的关系 1.const int* (int const*) 2.int* const 3.const int* const 三.常变量与指针 ...

  6. C++中const与指针

    该博文为原创文章,未经博主同意不得转载,如同意转载请注明博文出处 本文章博客地址:https://cplusplus.blog.csdn.net/article/details/105113742 C ...

  7. 常量指针(Pointer to const)与指针常量(Const pointer)

    常量指针(Pointer to const)与指针常量(Const pointer) 1. Concepts 很多时候对于这两个概念的困惑来自于中文字面翻译.我们无法通过字面含义直接理解判断该'常量' ...

  8. 超详细的const 指针与指向const的指针

    最近在复习C++,指针这块真的是重难点,很久了也没有去理会,今晚好好总结一下const指针,好久没有写过博客了,记录一下~ const指针的定义: const指针是指针变量的值一经初始化,就不可以改变 ...

  9. const指针和指向const的指针

    今天在看项目代码时,发现竟然可以给有const修饰的指针赋值,按道理的话,const修饰的不是常量吗?常量应该是初始化之后就不能再修改才对.对于这个问题,我大致的研究了一下. 参考const 指针与指 ...

  10. const指针强转为非const指针后的赋值问题

    #include <iostream>using namespace std;int main() {const int a = 5;const int * p = &a;int ...

最新文章

  1. 用for实现Go的while和do...while
  2. 买了一个软件测试就业班课程,不知道值不值
  3. HDFS只支持文件append操作, 而依赖HDFS的HBase如何完成增删改查功能
  4. Spring Ioc 源码分析(一)--Spring Ioc容器的加载
  5. TP查询数据库多维数组
  6. 浅拷贝直接赋值_Python里面如何拷贝一个对象?(赋值,浅拷贝,深拷贝的区别)?...
  7. python长沙_python 长沙
  8. React H5图片压缩上传
  9. bug - Nacos - Ignore the empty nacos configuration and get it based on dataId
  10. 增广矩阵and线性方程组----线性代数
  11. 使用Spark MLlib进行情感分析
  12. 《第一堂棒球课》:王牌投手·棒球1号位
  13. Android实现扫一扫识别图像数字(使用训练的库拍照查看扫描结果)(下)
  14. 深入了解C语言和C++哪个更难?
  15. singleTask vs singleInstance
  16. 【OpenGL 学习笔记03】点画多边形
  17. JSP内置对象及常用方法
  18. python指定时间倒计时软件_python倒计时
  19. photoshop制作一寸照片
  20. Math、Date、定时器

热门文章

  1. (day 52 - DFS) 剑指 Offer 68 - II. 二叉树的最近公共祖先
  2. nacos加载多配置集
  3. 用户已关闭隐式函数计算_针对隐式反馈和LightFM模型的杂谈
  4. Mysql 对语句的长度有限制,默认是 4M
  5. python_图像去畸变/图像矫正
  6. hdf5文件-环境配置/使用读写
  7. np.c_和np.r_
  8. nginx配置虚拟主机-端口号区分/域名区分
  9. jQuery AJAX 方法
  10. 中介者模式(Mediator)