static和extern对函数的作用

来源:互联网 发布:touch bar 知乎 编辑:程序博客网 时间:2024/05/16 17:01
外部函数:定义的函数能被本文件和其他文件访问,默认情况下所有函数为外部函数
1>默认情况下所有函数都是外部函数
2>不允许有同名的外部函数
内部函数:定义函数只能被文本文件访问,其他文件不能访问
1>允许不同文件中有同名的内部函数

static对函数作用
1 定义一个内部函数
2 声明一个内部函数
extern对函数的作用
1 完整的定义一个外部函数
2 完整的申明一个外部函数(可以省略 默认情况下所有函数都是外部函数)


视频播放地址http://www.iqiyi.com/w_19rs4cqpcx.html

1、关键字static的作用是什么?

这个简单的问题很少有人能回答完全。在C语言中,关键字static有三个明显的作用:

1). 在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。

2). 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。

3). 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用。

大多数应试者能正确回答第一部分,一部分能正确回答第二部分,同是很少的人能懂得第三部分。这是一个应试者的严重的缺点,因为他显然不懂得本地化数据和代码范围的好处和重要性。