关于变量
来源:互联网 发布:软件登录界面 编辑:程序博客网 时间:2024/05/11 22:03
变量的含义
程序由代码和数据组成,变量用于存取数据的中间运算结果。所以变量拥有以下基本特征:
·变量名(lable):文本识别符号,以方便使用变量。
·变量值(value):我们想要存取的数据。
·变量容器(container):用于存放数据。
·变量类型(type):数据存取的规则。
打个比方:变量容器像盒子,上面贴着变量名的标签,里面则存有变量值。变量类型则是盒子的大小和形状。
简单变量像是一个盒子,数组像是盒子里面套盒子,结构则像是一组盒子。
联合的盒子上面有两个观察孔。
变量容器的具体实现
变量容器由1个或多个内存字节组成。
·变量类型(type):决定存储容器使用多少字节,其中内容如何组织/如何解读。变量类型也决定了其运算的行为。
举例1:
int a=5;
-------------------
lable为a
addres=0x00280758 (编译器决定,此处为示意性举例)
type=int: 容器中包含4字节,intel CPU上按LITTLE ENDIAN排列(低字节在前,首地址可取到byte0,首地址+3可取到byte+3)
value=5: 实际上,容器中的机器码为05 00 00 00
举例2:
double b=-1.1;
-------------------
lable为a
addres=0x00280760 (编译器决定,此处为示意性举例)
type=double: 容器中包含8字节,intel CPU上按LITTLE ENDIAN排列(低字节在前,首地址可取到byte0,首地址+7可取到byte+7)
value=-1.1: 实际上,容器中的机器码为9A 99 99 99 99 99 F1 BF
变量的使用
取变量名称
C/C++没有函数可以取变量名称,只能用宏定义的办法变成字符串以供调用
#define DUMP_VAR(a) {\printf("变量名称:%s\n", #a);\//...\}
取变量值
在表达式、函数参数中,直接书写变量名就是取变量值。
cout << "变量值:" << a << endl;
使用变量容器
使用容器当然是存东西进去了,也就是赋值。
int a=5;int b=a;
注意第二个赋值语句,其含义为“取变量a的值,放入变量b的容器中”。
虽然赋值语句的左右都是变量名,但一指容器、一指取值,这也就是左值和右值的由来。
“精神分裂”的数组名
在数组名的使用上,有着太多的规定,导致数组名表现出“精神分裂”般的不一致性。
规定一:在sizeof、&运算,以及以字符串字面量初始化字符串数组时,数组名作为容器整体进行处理
规定二:除上之外,作为函数参数或表达式中出现时,数组名退化为数组首元素的指针
- 关于变量
- 关于变量
- 关于变量
- 关于变量
- 关于寄存器变量:
- 关于static声明变量
- 关于static成员变量
- 关于_variant_t变量
- 关于C的变量
- 关于_variant_t变量
- 关于volatile 变量
- 关于变量初始化
- 关于静态变量
- 关于批处理中的变量
- 关于static变量学习
- c++关于变量
- 关于JavaScript变量
- [转帖]关于_variant_t变量
- HDU4740-模拟
- Working Practice-破窗理论与写代码
- 说说
- 求正整数数组构成的最小数(某公司2013年校园招聘笔试试题)
- 设计模式学习
- 关于变量
- POJ 3260 The Fewest Coins(0-1背包 多重背包)
- 动态规划解最长公共子序列问题
- 【首尔大学韩国语】十七课 家里有几口人?
- [转]排列组合
- android 4.2.2 搭建编译环境 JDK
- jdbc连接mysql数据库
- 如何用iframe局部引用网页
- 题目1521:二叉树的镜像