就这几种。有啥不一样?

 const int a;int const b;const int* a1;int const* c1;int* const

怎么理解上面的const?
一般情况下,可以把const 看作是用来修改变量类型的,比如

const int a

int 是类型,const是修饰int类型,可以理解为 这个int 类型是 const 的,也就是不可修改的

int const b

这个和

const int a

没区别
编译器会认为都一样

但是指针就有点特别,你得看*是跟在const前面,还是后面

const int* a1;
int const* c1;

上面这个两句,*在const后面,表明a1,c1是两个指针,*前面的const int,const int 表示这两个指针是指向const int类型,a1,c1这两个指针指向的变量内容不能被改变

int f =3;
int c = a;
const int* a1 = &f;
int const* c1 = &f;
*a1 = 1; //错
c1 = &c;//对

下面

int* const b

*在const前面,说明这个后面b是个const指针,指向一个int类型,这指针本身是不能改的,但内容可以改

int f =3;
int* const b1 = &f;
b1 = &c;//错
*b1 =2;//对

如果想让内容和变量本身都不能该

int f =3;
const int* const b1 = &f;
b1 = &c;//错
*b1 =2;//错

上面表明,b1是个const类型指针,指向了一个const int类型,所以内容和指针都不能改

差球不多就这几种,

还有,在VS里,const写多少,都没有关系。

它会忽略没用的const

const const int* const const b1 = &f;

以上代码,最终解释为

const int* const b1

const int,int const,const int*,int const*,int* const有什么不一样?相关推荐

  1. const int *p说明不能修改_C语言关键字const和指针结合的使用

    C语言中,const 的作用是把变量变为一个只读的变量.与指针结合起来,有以下几种用法,下面分别进行说明. const int p; const int *p; int * const p; cons ...

  2. 【C 语言】const 关键字用法 ( 常量指针 - const 在 * 左边 - 修饰数据类型 - 内存不变 | 指针常量 - const 在 * 右边 - 修饰变量 - 指针不变 )

    文章目录 一.const 普通用法 二.常量指针 ( 指向 常量 的指针 | 被指向的内存不能被修改 ) 三.指针常量 ( 指针不能被修改 ) 三.指向 常量 的 指针常量 四.const 在 * 左 ...

  3. python中int是什么的缩写_python中int是什么类型

    python中的基本数据类型 1:虽然python中的变量不需要声明,但使用时必须赋值 整形变量 浮点型变量 字符型 2:可以一个给多个变量赋值,也可以多个给多个变量赋值 3:python3中有6个标 ...

  4. C++ const关键字的总结(全局/局部变量、修饰指针和引用、成员函数和数据成员、修饰类对象、const与宏定义的区别、Static与Const的区别)

    const关键字 const关键字 1.什么是const 2.使用原理 2.1.const全局/局部变量 2.2.cosnt修饰指针和引用 2.3.const修饰函数参数 2.4.const修饰函数返 ...

  5. php中int()强制转换,php下intval()和int强制转换使用的区别是什么

    php下intval()和int强制转换使用的区别是:1.[intval()]如果参数是字符串,则返回字符串中第一个不是数字的字符之前的数字串所代表的整数值:2.转换为int的PHP字符串,在使用之前 ...

  6. mysql的int多少溢出_mysql 整型(int)数字溢出在程序和数据库设计中的考虑

    以下试以整型(int)抛砖引玉: 一:MySQL5 以MySQL5版本为例,大多数管理员可能把自增数字.或者其它应用数字字段的列属性设置为int类型,int占用4个字节,而int又分为无符号型和有符号 ...

  7. vector<int> v, vector<int> v(n) 与vector<int> v[n]的区别

    一.vector<int> v表示声明一个容器v,并且不给他预定存储空间. 运行: vector<int> v;cout << v.size(); 输出为: 0 二 ...

  8. int mysql是什么意思_MySQL数据类型 int什么意思

    MySQL数据类型 int什么意思 关注:136  答案:2  mip版 解决时间 2021-01-30 21:51 提问者叫我女王 2021-01-30 10:52 MySQL数据类型 int什么意 ...

  9. *java* 在Java中给Int类型的最大值+1 ,以及int与byte之前强转的例子

    1.给int最大值+1 public class Test1{public static void main(String[] args){//保存当前int的最大值,同理也有long maxValu ...

  10. c语言中int a什么意思,c语言中int *a,int a和int* a什么区别?

    int *a指的是定义一个指向int类型数据的指针a,指针 int a指的是定义一个整数变量a, int* a跟int *a是同样的,只是int *a更严谨, 好比,int *a,b; 只有a是指针变 ...

最新文章

  1. 《Linux内核分析》课程总结
  2. Controller层使用@value注解获取不到properties属性值
  3. java中的祖先类_Java程序公共祖先类-Object
  4. oracle的口令就是密码吗,如何修改Oracle用户的密码(不改变原密码)
  5. Squid 2.6 Configuration Manual - Log File Path Names and Cache Directories
  6. win2003超过最大连接数
  7. aspen和python一起使用_python-将$cond语句与$project一起使用并在PyMongo中聚合
  8. [html5网页设计]英雄联盟lpl总决赛游戏网页设计大作业,hbuilder网页设计成品,dw网页设计成品模板,游戏网页设计带图片轮播,音乐,视频,注册登录表单。
  9. OP-TEE 编译流程
  10. ubtuntu error:E45:‘readonly’ option is set(add ! to override
  11. Omni-ID 推出2款有源RFID标签
  12. java spider爬虫_一个简单的java网络爬虫(spider)
  13. alios 系统配置转存到一个头文件
  14. 雷军与陈年是真爱:凡客即将“小米化”改造
  15. 快速区分AR VR MR 全息 3D
  16. 七轴分拣机器人设计与MATLAB仿真
  17. 揭秘:传统pos机手续费为什么比无卡支付手续费还贵!
  18. 虎书学习笔记2:图形学基础数学(向量、点积、叉积、)
  19. 使用echarts在地图中使用dispatchAction
  20. linux服务器光衰,linux下怎么查看光模块光功率

热门文章

  1. studio 3t连接linux上的MongoDB
  2. mac pro m1:安装dump文件内存分析工具——MAT
  3. 电脑每次重启总是会进行磁盘检查
  4. DO - varying
  5. 正则校验必须由数字 字母 和 特殊符号组成的正则
  6. 三年的工作-软通动力
  7. MongoDB数据库设计中6条重要经验法则 Part 2
  8. 正交采样 matlab,MATLAB数值积分(正交)
  9. PyTorch 入门与实践(七)循环神经网络(RNN)
  10. 对于同源与非同源的理解