博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
int *p,cons int *p,int const *p,int * const p,const int * const p,int const * const p的差别...
阅读量:6387 次
发布时间:2019-06-23

本文共 714 字,大约阅读时间需要 2 分钟。


  1. 加有constkeyword的几种情况的辨析

const修饰的代码

含义(特点)

等价性

int *p = #

1.       能够读自己

2.       能够通过*p改自己

3.       能够通过p = &data来看别人

权限最大

cons int *p = #

1const放在左边意味着指向的是常量。这个常量不能够改动,

2p = &data; (地址能够改动)

3*p = 30;(这个时候是错误的)

这两者等价(应用:查看别人的账户)

int const *p = #

(和上面的等价)限定仅仅能读不能够改动,地址能够移动

int * const p = #

不能够改动自己的地址。可是能够通过*p来改动自己的值

 

const int * const p = #

不能够改动地址来看其他的值,也不能够改动自己的,仅仅能看自己的

1、可看自己

2、不改自己

3、不能看别人

int const * const p = #

限定仅仅能看自己的账户,仅仅能读不可写

 

  1. 仅仅能在初始化的时候才可以赋值(const限定了不能随便改动变量)

  2. const总结

const左边意味着我指向的是常量。

const’*’右边意味着我指针式一个常量。

当把上面的p=&data;改成了*p = 3;这个时候就不能够了。截图例如以下:

 

  1. int const *p

  1. int * const p; 不能够改动自己的地址,可是能够通过*p来改动自己的值

能够通过*p的方式进行改动

6.const int * const p = &data; 这样的方式仅仅能看自己的,不能改动别人的,也不能改变自己。

仅仅能看自己:

你可能感兴趣的文章
pfSense LAGG(链路聚合)设置
查看>>
教学思路SQL之入门习题《学生成绩》 七.存储过程基础知识
查看>>
createrepo 无法使用解决
查看>>
.net安全类库
查看>>
在Windows 2008 R2上部署SCCM 2007 R2
查看>>
tablespace backup模式一个没用的技术
查看>>
PostgreSQL安装
查看>>
七牛实时音视频云视频连线demo(web部分)
查看>>
Mysql 权限
查看>>
Spring事务管理(详解+实例)
查看>>
ubuntu apt-get install 出现无法定位软件包...
查看>>
centos7 下 基于docker搭建java/tomcat (方式一)
查看>>
全世界最好的编辑器VIM之Windows配置(gvim)[未测试]
查看>>
2018年你需要知道的13个JavaScript工具库
查看>>
当你点击按钮的时候如何设置其他按钮不可点击
查看>>
spring 高级装配
查看>>
【合集】parasoft Jtest 从安装到使用教程合集,收藏推荐!
查看>>
Python Pygame库的学习之路(1)
查看>>
信息安全与Linux系统
查看>>
Ubuntu安装mysql
查看>>