1.关键字static的作用是什么?
1)static修饰全局变量时,该全局变量只能在本文件中使用;
2)static修饰局部变量时,将其放于BSS段中,只定义一次,只分配一次空间。改变其生命周期至程序结束。
3)static修饰函数时,函数为静态函数,只能在本文件中使用。
2.程序的内存分配,即一个由C/C++编译的程序占用的内存分为几个部分?
BSS段:存放未初始化的全局变量和初始化为0的全局变量以及static变量。
数据段:存放初始化为非0的全局变量。
代码段:放置程序代码。
堆
栈
3.解释堆和栈的区别
堆栈空间分配
堆栈缓存方式
栈使用的是
一级缓存, 他们通常都是被调用时处于存储空间中,调用完毕立即释放。
堆栈数据结构区别
堆(数据结构):堆可以被看成是一棵树,如:堆排序。
栈(数据结构):一种先进后出的数据结构。