变量三大特点:
变量的数据类型;
变量的作用域;
变量的存储类型。
内存和硬盘的差别:
cpu运行程序从内存抓取代码,不从硬盘
从掉链角度出发,一旦掉链,内存数据丢失。而硬盘不会
程序在硬盘中,而执行成进程在内存
操作系统的作用:管理资源
进程地址内存分配方式:
首先内存虚拟地址为4G,第一个G给内核,剩下的3个G给用户空间,而用户空间又可以分为栈空间,堆空间,数据区和代码段。
栈空间存放局部变量,函数的形参,自动变量
堆空间存放malloc ralloc calloc
数据区又分为bss,or(only read)以及静态数据区
bss:未初始化的全局变量
or :常量!!!!!
静态数据区:static修饰变量,初始化 的全局变量
栈空间和堆空间比较:
从管理角度看,栈空间由系统管理,堆空间由用户管理
从进出顺序看,前者先进后出,后者先进先出
从生命周期看,前者全局变量,整个程序运行结束释放,而后者是局部变量,当前函数运行结束即释放
声明和定义的区别
前者不需要配置内存空间,可以声明很多次
后者需要配置内存空间,只可以定义一次