const型指针区别 const * 和* const
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相关推荐
- 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 ...
- const指针 与指向const的指针的区别
const 指针与指向const的指针 当使用带有const的指针时其实有两种意思.一种指的是你不能修改指针本身的内容,另一种指的是你不能修改指针指向的内容.听起来有点混淆一会放个例子上来就明白了. ...
- const修饰指针和引用的用法【转贴】
*************************************************** 更多精彩,欢迎进入:http://shop115376623.taobao.com ****** ...
- C++ const 引用 指针答疑
常变量 const int a 常引用 const int &a 常指针 const int *a const * int a 用法1:常量 取代了C中的宏定义,声明时必须进行初始化( ...
- 【C++】const与指针
目录 一.C与C++中const的区别 二.const与指针的关系 1.const int* (int const*) 2.int* const 3.const int* const 三.常变量与指针 ...
- C++中const与指针
该博文为原创文章,未经博主同意不得转载,如同意转载请注明博文出处 本文章博客地址:https://cplusplus.blog.csdn.net/article/details/105113742 C ...
- 常量指针(Pointer to const)与指针常量(Const pointer)
常量指针(Pointer to const)与指针常量(Const pointer) 1. Concepts 很多时候对于这两个概念的困惑来自于中文字面翻译.我们无法通过字面含义直接理解判断该'常量' ...
- 超详细的const 指针与指向const的指针
最近在复习C++,指针这块真的是重难点,很久了也没有去理会,今晚好好总结一下const指针,好久没有写过博客了,记录一下~ const指针的定义: const指针是指针变量的值一经初始化,就不可以改变 ...
- const指针和指向const的指针
今天在看项目代码时,发现竟然可以给有const修饰的指针赋值,按道理的话,const修饰的不是常量吗?常量应该是初始化之后就不能再修改才对.对于这个问题,我大致的研究了一下. 参考const 指针与指 ...
- const指针强转为非const指针后的赋值问题
#include <iostream>using namespace std;int main() {const int a = 5;const int * p = &a;int ...
最新文章
- 用for实现Go的while和do...while
- 买了一个软件测试就业班课程,不知道值不值
- HDFS只支持文件append操作, 而依赖HDFS的HBase如何完成增删改查功能
- Spring Ioc 源码分析(一)--Spring Ioc容器的加载
- TP查询数据库多维数组
- 浅拷贝直接赋值_Python里面如何拷贝一个对象?(赋值,浅拷贝,深拷贝的区别)?...
- python长沙_python 长沙
- React H5图片压缩上传
- bug - Nacos - Ignore the empty nacos configuration and get it based on dataId
- 增广矩阵and线性方程组----线性代数
- 使用Spark MLlib进行情感分析
- 《第一堂棒球课》:王牌投手·棒球1号位
- Android实现扫一扫识别图像数字(使用训练的库拍照查看扫描结果)(下)
- 深入了解C语言和C++哪个更难?
- singleTask vs singleInstance
- 【OpenGL 学习笔记03】点画多边形
- JSP内置对象及常用方法
- python指定时间倒计时软件_python倒计时
- photoshop制作一寸照片
- Math、Date、定时器