常量和常变量(const)
2017-09-18 02:19
162 查看
常量
1. 字面常量/直接常量
数值型常量整形常量:1 2 3
实型常量:1.1 2.2
字符型常量(单撇号之间)
普通字符型常量:’a’ ‘A’
转义字符常量:’\n’
字符串常量:”helloworld”
2. 符号常量
用一个符号名代表一个常量#define PRICE 20
常变量const
【胡思乱想】:int num = 10;
变量名是名
变量是变量值
变量名的使用:就是当初发明c/c++语言的人,创造的一种方便程序员读写内存单元的办法,而且以不同权限声明的变量名,就有不同的读写权限,一个内存单元,被多个变量名打开。默认情况下,也就是最常使用声出来的变量名具有读写的权限。这和文件IO是一个性质的东西,但是比文件IO更简单直接。
内存单元:寄存器
指针变量名打开的那个寄存器里放:带权地址
带权地址定的那个寄存器里放:权限下的档案
变量名打开的那个寄存器里放:权限下的档案
const :谷歌翻译:常量
我理解为:只读的东西
插入一个思想:文件IO
变量名:我理解为问价描述符
内存单元:寄存器
下面为了直接,所以直接讨论变量名打开的内存单元
插入一种思想:铺路设置哨卡
我们平时声明紧接着定义一个变量,之后就开始拿声明的那个变量进行各种操作
其实,一块内存空间,被程序使用了以后,我们可以声明其他好多变量名来操作这块内存,或者通过指针操作这块内存。
于是就出现了引用,指针
但是我们在声明这些变量时,可以修饰一下变量,其实就是给变量设定权限,权限可大可小,变量之间互补干涉
const就是一个修饰符,只赋予变量读内存空间的权限,没有写内存空间的权限,这使用与各种数据类型,因为每种数据类型都是由变量名和内存单元组成
当我们给一块内存单元声明一个变量时,就相当于修了一条通向城堡的路,新声明就是铺新路,但是每条路互补交叉。
路都是要限速限重的,在每个路口都有哨卡
为了保护城堡,越往外,对路设的条件越苛刻,所以权限越“继承”越苛刻
普通变量不可以做为const变量的引用
int A= 10;
const int B = 10;
int &a = A;//正确
int &a = B;//错误
const变量可以作为普通变量的引用
int A = 10;
const int B = 10;
const int &a = A;//正确
const int &a = B;//正确
const 放置位置
*
插入一个思想:宇宙中的地球
内存单元:上帝眼中宇宙中完整的地球
指针(坐标):上帝分给各种外星人带有权限的地球坐标
现在各种外星人手里都有地球的坐标,都可以到达地球,但他们要严格按照权限来做事
指针变量内存单元:外星人手里的带权限的坐标
由于上帝要保护地球,所以告诉外星人的地球坐标都加上了不同的权限
地球 *p_a = &地球;//A类外星人拿到任意权限的地球坐标
const 地球 *p_b = &地球; //B类外星人拿到只能访问地球的坐标
指针值(*p)内存单元:每种外星人权限下的地球
再插入一种思想:学校公司
10:学校、公司
int a = 10;
int b = 10;
int c = 10;
const int A = 10;
学生abc都说自己去学校
食堂阿姨A说自己去公司
学校、公司指同一个地方
自己把地点定位的性质不同,那做的事情也不同
相关文章推荐
- const 引出的对常量,变量,只读变量的讨论
- const变量与define定义常量的区别
- C语言返璞归真之修改const常量和使用变量定义数组长度
- C/C++语法知识精华整理(1)-左值与右值、变量与常量、 define与const、Printf特点、补码与阶码、位运算等
- 常量和变量:public static const 和public static var
- 类里面的const:编译期间的变量和常量
- 【Go入门教程4】变量(var),常量(const),内置基础类型(Boolean、数值 byte,int,rune、字符串、错误类型),分组,iota枚举,array(数值),slice(切片),map(字典),make/new操作,零值
- C语言为什么被const声明的变量不是一个常量表达式
- C语言之变量、常量(define\const)、变量的声明和定义
- C++系列之基本数据类型、常量、变量、const、引用、typedef、枚举、类类型、编写自己的头文件
- 怎么通过反射的方式获取指定变量名称的值呢?比如说一个const类型的常量:const string aa=123
- const常量用extern声明定义的问题(extern变量不能在使用类里初始化)
- 类里面的const:编译期间的变量和常量
- [BS-00] const限定常量或者变量(初次赋值后),其值不允许被改变
- 通过常量表达式初始化的const变量定义在头文件中
- 参数中有const时进行数据类型的转换问题-固定变量转常量
- C语言中const只读变量及常量的注意事项
- 简单掌握JavaScript中const声明常量与变量的用法
- 【c基础】全局变量-局部变量 静态变量static-自动变量auto 外部变量extern-内部变量static 常量const-宏定义#difine
- 常量与只读变量的区别(const)