c中static的作用.docVIP

  • 8
  • 0
  • 约6.32千字
  • 约 8页
  • 2016-08-15 发布于重庆
  • 举报
c中static的作用

C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。(1)先来介绍它的第一条也是最重要的一条:隐藏。 当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.c,另一个是main.c。 下面是a.c的内容 char a = A; // global variable void msg() { ???? printf(Hello\n); } 下面是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就看不到它

文档评论(0)

1亿VIP精品文档

相关文档