C++面试题总结

5:如何引用一个已经定义过的全局变量?区别是什么

如果在同一个文件中,直接引用即可。

如果不在同一个文件,有两种方式:

(1)直接引用头文件就可以使用了。

(2)用extern关键字重新声明一下。

10:main 主函数执行完毕后,会执行什么代码?

可以,使用on_exit 注册的函数会在代码执行完毕后执行:

#include<stdio.h>

int fn1();

void main( void )

{
on_exit(fn1);
printf("This is executed first.
" );
}

int fn1()

{

printf("next.
" );

return 0;

}

11:局部变量能否和全局变量重名?

可以,但是局部会屏蔽全局。要用全局变量,需要使用域作用符“::”。

12.内存分配方式?

静态存储区域:该区域的变量在编译阶段就已经分配好了.比如全局变量和static变量.

栈:局部变量和函数的参数会存放在这里.

堆:动态内存的生存期由程序员决定,使用非常灵活。

13.

选自https://zhuanlan.zhihu.com/p/31451123

原文地址:https://www.cnblogs.com/Stephen-Qin/p/12942830.html