c语言static 申明私有变量,函数外,文件外不可访问。
static变量是不会在栈中分配内存的,其内存在全局数据区分配
statically allocated的变量在编译和链接期间分配内存,相对于dynamically allocated的装载和运行期间。
静态分配的静态体现在:1.变量分配的位置是全局数据区 2.大小运行前已知(但是真正分配内存还是在与运行之前,其采用的应是虚拟地址,后期回添)。
当我们在运行前不知道需要内存的大小,不想在整个程序运行期间都有内存,有可重入和递归函数的时候,就需要动态分配内存了。