Chinaunix

标题: static 和 extern [打印本页]

作者: cnaka    时间: 2015-07-22 17:48
标题: static 和 extern
static 和 extern 修饰局部变量

static修饰局部变量:

  作用:1)static定义的变量的作用域会得到延长

           2) static定义变量的语句只会被执行一次

extern不能够修饰局部变量的
  1. void test (int num)
  2. {
  3.     static int n = 0;
  4.     printf("%d",n);
  5.     n++;
  6. }

  7. int main()
  8. {
  9.      test();   // 输出结果为0
  10.      test();   // 输出结果为1
  11.      test();   // 输出结果为2
  12. }
复制代码
static 对全局变量的作用(内部变量)

          static修饰的全局变量,表示该全局变量只能在当前文件中使用,而不能在其他文件中使用

          在不同的文件中,使用static可以声明的同名的变量

extern 对全局变量的作用

          extern修饰的全局变量,表示当前变量可以在本文件中使用,也可以在

          其他文件中使用

          extern声明的全局变量在不同的文件中不能同名(两个文件须由包含关系)

static 和 extern对函数的作用

      static 修饰的函数,是一个内部函数(只能在定义的那个文件中去使用)

      extern 声明的函数,可以在定义文件中使用,也可以在其他文件中使用
作者: renxiao2003    时间: 2015-08-12 10:36
静态和扩展。这个在C#中也常用。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2