面试准备——(二)专业知识(4)C/C++语言

1. 预处理 断言

assert的功能,assert(statement),如果statement为真则程序继续执行,为假则整个程序中断退出

3.

#define

#ifndef DISKSIM_SSD_H  //如果这个头文件已经被编译过了,则这个DISKSIM_SSD_H也就被定义过,这编译到这里就不在往下编译了

 

#define DISKSIM_SSD_H  //如果这个头文件是第一次被编译,则这个DISKSIM_SSD_H在这里定义

 

statement              //头文件的内容

 

#endif                 //定义结束

】这个语句的作用是防止在编译的时候重复编译此头文件

 

 

4. c语言的内存管理:

对于一个c程序而言,内存空间由5个部分组成

堆,栈,bss段,数据段,代码段

堆:程序运行时被动态分配的内存段,如malloc申请的内存就在这里

栈:存放局部变量,函数被调用时其参数被压入栈,函数调用完,其返回值也存放在栈中,先进先出*****因此要少用递归,不然会爆栈,即栈的空间被用完。

bss段:存放未初始化的全局变量和静态变量

数据段:存放已初始化的全局变量和静态变量

代码段:存放程序执行的代码,通常只读

 

 

posted @ 2017-02-18 21:24  lesleysbw  阅读(716)  评论(0编辑  收藏  举报