1.总结关键字static的应用和作用
- 在函数体内,一个被声明为静态的变量在这一函数调用过程中维持不变
- 在模块内(一个 .c 文件内),被声明的静态变量可以被模块内所有函数访问,但不能被模块外的其他函数访问。
- 在模块内,一个被声明为静态的函数只能被同一模块内的其它函数调用,这个函数的使用范围被限制在声明它的类模块中
- 在类中的static成员变量属于整个类所拥有,对类的所有对象只有一份拷贝
- 在类中的static成员函数属于整个类所拥有,这个函数不接受this指针,因而只能访问类的static成员变量
2.引用与指针的区别
- 引用必须初始化,指针不用
- 引用被初始化后不能被改变,指针可以改变所指的内容
- 不存在指向空值的引用,但存在指向空值的指针
3.堆栈溢出一般原因
- 没有回收垃圾资源
- 层次太深的递归调用
4.局部变量能否和全局变量重名?
- 能!局部变量会屏蔽全局变量。
- 要用全局变量,需要使用 ::
5.全局变量可不可以定义在被多个 .c 文件包含的头文件中?
- 可以!在不同的 C文件中以 static 形式来声明同名的全局变量,前提是其中只能有一个c文件对此变量赋值,在链接时才不会报错
6.const和#define的区别
c