1. 什么是变量?变量的特点
变量的三大特点:
数据类型:主要说明变量占用内存空间大小如int
作用域:变量的有效性范围,即变量的适用范围
存储类型:变量在内存中的存储方式。不同的存储方式,影响变量在内存的生存周期
2. 变量的存储区域
执行一个程序,被称作进程,为解决内存资源稀缺,CPU会给这个进程分配4G的虚拟地址空间(进程的活动空间),也就是变量的存储空间
3. 变量存储空间的划分
(1).原因:为了保护数据安全和互不影响
(2).划分:
4. 全局变量与局部变量的区别
(1)空间分配:全局变量:数据段
局部变量:栈空间
(2)初始化:全局变量未初始化时默认为0
局部变量:不默认为0
(3)作用域:全局变量:程序运行时事先分配内存空间,,所在工程文件结束后被释放
局部变量:程序运行到该函数时给该变量分配内存空间,所在函数执行完后被释放
5. 声明与定义的区别
(1)声明:向编译器介绍名字--标识符。它告诉编译器“这个函数或变量在某处可找到,它的模样像什么。
定义性声明:需要建立存储空间的。例如:int a 在声明的时候就已经建立了存储空间
引用性声明:不需要建立存储空间的。例如:extern int a 其中变量a是在别的文件中定义的
声明的含义:
(1) 告诉编译器,这个名字已经匹配到一块内存上,下面的代码用到变量或者对象是在别的地方定义的。声明可以出现多次。
(2) 告诉编译器,这个名字已经被预定了,别的地方再也不能用它来作为变量名或对象名。
(2)定义:编译器创建一个对象,为这个对象分配一块内存,并给它取上一个名字,这个名字就是就是我们经常所说的变量名或对象名。
定义和声明的最重要区别就是:
定义创建对象并为这个对象分配了内存,声明没有分配内存。
可重复声明,不可重复定义。
一般先声明再定义的原因:语法要求,加快运行效率