c语言面试题总结

来源:互联网 发布:网易新闻app数据抓取 编辑:程序博客网 时间:2024/04/30 17:10

1.冠以static关键字的全局变量、局不变量、函数与普通的全局变量、局不变量、函数的区别?

首先,我们来说static全局变量和普通全局变量的相同与不同,普通的全局变量与static全局变量都是以静态存储方式存储在栈区的,这是2者的相同点,而不同在于普通的全局变量的作用域是整个程序,而被static修饰的全局变量的作用域只在声明该变量的文件中。

其次,static局部变量和普通局部变量的区别:static局部变量只会被程序初始化一次,下一次使用维持上一次的值不变,(即在某种意义上改变了该局部变量的生命周期)而普通的局部变量出了函数即会被释放掉,下次使用重新分配。

最后,声明为static的函数,其作用域也会被限定在该文件中,(即在程序中只维持该函数的一份拷贝)而普通的函数作用域被限定为 #include、#import的文件中都可以使用。

2.如何引用一个已经定义过的全局变量?

有俩种方式:1、引用头文件

      2、使用extern关键字

区别:第一种方式引用的话,如果有错误,在编译期会提示错误;第二种方式的话,如果有错误,在连接期才会提示错误。


原创粉丝点击