对于基本数据类型量,按其取值是否可改变又分为常量和变量两种。在程序执行过程中,其值不发生改变的量称为常量,其值可变的量称为变量。
变量的三大特点:
1.数据类型:主要说明变量占用内存空间大小;
2.作用域:变量的有效性的范围,即变量的使用范围;
3.存储类型:变量在内存中的存储方式,不同的变量存储影响在内存中的地位。
变量存储区域的划分;
最高位为内核,占1G空间;
其他的3G分配给用户:
1.栈空间:局部变量,函数形参,自动变量
特点:先进后出(先分配,后释放)
由系统管理;
2.堆空间:malloc ,callocr ,alloc
特点:先进先出(先分配,先释放)
由用户管理
3.(全局)数据区:bss : 保存未初始化的全局变量;
ordata: 常量保存在这里;
静态数据区: 保存初始化的全局变量,static修饰的变量
全局变量与局部变量的区别:
1.从作用域看,全局变量的有效范围是从定义变量的位置开始到本源文件结束,局部变量只在本函数范围有效,在此函数以外不能使用;
2.从存储区域看,全局变量存储在静态数据区,局部变量存储在栈空间;
3.当全局变量和局部变量同时存在一个函数内,局部变量起作用;
4.全局变量在未给定变量值时,默认输出为0;局部变量在未给定变量是时,随机给定一个值输出。