变量的概念
- 概念:
- 变量: 既能读又能写的内存对象。
 - 常量:一旦初始化后不能修改的对象
 
 - 变量定义形式:类型标识符, 标识符, … , 标识符;
 - 例如:
int x ; int wordCut , Radius , Height ;
double FlightTime , Mileage , Speed ; 
变量的本质
- 程序通过变量来申请和命名内存空间 int a = 0
 - 通过变量名访问内存空间,也就是说变量是内存空间的别名
(一段连续)内存空间的别名(是一个门牌号),如下图:
int a,在内存中占4个字节,连续32个bit;
double b ,8个字节,连续64个bit 
也就是说我们通过变量来操作内存,对内存可读可写。

修改变量有几种方法?
- 直接
 - 间接。内存有地址编号,拿到地址编号也可以修改内存;于是横空出世了!(编程案例)
 - 内存空间可以再取给别名吗? 可以 C++ 引用
 
#include<stdio.h>#include<stdlib.h>void main(){int a;int b;int *p; //内存中分配空间//直接赋值 // cpu里面执行a = 10;printf("&a:%d\n", &a); //&a:3210316printf("a:%d\n", a); //a:10//间直赋值 - 直接通过内存(变量的门牌号)*((int *)&a) = 200; //指针的来源printf("a:%d\n", a); //a:200//间直赋值- 通过指针{p = &a;*p = 300;printf("a:%d\n", a); //a:300}system("pause");}
通过数据类型定义变量
- 通过数据类型定义变量
 
总结及思考题
- 对内存,可读可写;
 - 通过变量往内存读写数据;
 - 不是向变量读写数据,而是向变量所代表的内存空间中写数据。
 - 问:变量跑哪去了?(代码区)
 
- 思考1:变量三要素(名称、大小、作用域),变量的生命周期?
 - 思考2:C++编译器是如何管理函数1,函数2变量之间的关系的?
 - 引出两个重要话题:内存四区模型 和 函数调用模型
 
