栈(
):由编译器自动分配释放,存放函数的参数值,局部变量
的值等。其操作方式类似于数据结构中的栈。
堆:一般由程序员分配释放,若不释放,程序结束时可能由
回收。
注意它与数据结构中的堆是两回事,分配方式类似。
头文件的作用是什么?
通过头文件来调用库功能。在很多场合,源代码不便(或不准)
向用户公布,只要向用户提供头文件和二进制的库即可。用户只
需要按照头文件中的接口声明来调用库功能,而不必关心接口怎
么实现的。编译器会从库中提取出相应的代码。
头文件能加强类型安全检查。如果某个接口被实现或被使用时,
其方式与头文件中的声明不一致,编译器就会指出错误,这一简
单的规则能大大减轻程序员调试、改错的负担。
内存的分配方式有几种?
从静态存储区域分配。内存在程序编译的时候已经分配好,这块
内存在程序的整个运行期间都存在。如全局变量。
在栈上创建。在执行函数时,函数内局部变量的存储单元都可以
在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存
分配运算内置于处理器的指令集中,效率高,但是分配的内存容
量有限。
评论