第一部分:基本概念及其它问答题(标红色的都是未实际测试过的)
1、关键字static的作用是什么?
(1) 变量值在函数结束后保存值, 类似于全局变量的效果 (2) 限值函数和变量的调用范围(函数体/文本)
2、“引用”与指针的区别是什么?
(1)初始化 http://c.biancheng.net/view/156.html(2) 固定内存位置 (3) 能否指向NULL内存
3、.h头文件中的ifndef/define/endif 的作用?
防止重定义
4、#include<file.h> 与 #include "file.h"的区别?
路径:标准库目录和当前工作目录
5、描述实时系统的基本特性
在特定时间完成任务, 实时性和可靠性 , 分时系统服务多账号(类似服务器的概念??)
//https://blog.csdn.net/m0_37765662/article/details/83018523
//https://www.zhihu.com/question/31609663
6、全局变量和局部变量在内存中是否有区别?如果有,是什么区别?
(1)存放区域(静态数据区/堆栈)
(2)值的变化
7、什么是平衡二叉树?
答 :左右子树都是平衡二叉树 且左右子树的深度差值的绝对值不大于1。
8、堆栈溢出一般是由什么原因导致的?
(1)资源回收 (2)层次太深的递归
9、冒泡排序算法的时间复杂度是什么?
O(N^2)
10、什么函数不能声明为虚函数? -- C++
constructor
11、队列和栈有什么区别?
答:队列先进先出,栈后进先出
12、不能做switch()的参数类型
答 :switch的参数不能为实型。 //https://blog.csdn.net/cy_cai/article/details/52996120
13、局部变量能否和全局变量重名?
能,局部会屏蔽全局。要用全局变量,需要使用"::" ---------------- 没必要这么写吧(话说下面这个链接怎么那么长)
14、如何引用一个已经定义过的全局变量?
(1)#include <xxx.h> int variable = 0;(2) extern int variable;
15、全局变量可不可以定义在可被多个.C文件包含的头文件中?为什么?
在不同的C文件中以static形式来声明同名全局变量(个人习惯用函数)
static bool value = false;
void set_value(bool set_value) { value = set_value; }
bool set_value(void) { return value; }