C语言中static的作用.docxVIP

  • 12
  • 0
  • 约5.58千字
  • 约 8页
  • 2019-09-14 发布于广东
  • 举报
在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用仃三条。 先來介绍它的第一条也是最重要的一条:隐藏。 当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话, 我举例來说明。我们要同时编译两个源文件,一个是a.c,另一个是main.Ce 下面是a.c的内容 char a = A; // global variable void msg() { printf(” Hellon”); } 下面是main.c的内容 int main(void) { extern char a; // extern variable must be declared before use printf(%c , a); (void)msg(); return 0; } 程序的运行结果是: A Hello 你可能会问:为什么在a.c中定义的全局变量a和函数msg能在main.c中使用?前面说过,所有未加 static前缀的全局变量和函数都具冇全局可见性,其它的源文件也能访问。此例屮,a是全局变量,msg 是两数,并且都没冇加static前缀,因此对于另外的源文件main.c是可见的。 如果加了 static,就会对其它源文件隐藏。例如在a和msg的定义前加上static, main.c就看不到它们 To利川这一特性可以在不同的文件中定义同名函数

文档评论(0)

1亿VIP精品文档

相关文档