10.1 局部变量

1. 静态变量

静态变量永久拥有其占用的存储空间

  1. #include <stdio.h>
  2. void test1();
  3. int main()
  4. {
  5. test1();
  6. test1();
  7. test1();
  8. }
  9. void test1()
  10. {
  11. static int i=0;
  12. int j=0;
  13. i++;
  14. j++;
  15. printf("静态的 i = %d,局部的 j = %d\n",i,j);
  16. }
  17. // 输出
  18. 静态的 i = 1,局部的 j = 1
  19. 静态的 i = 2,局部的 j = 1
  20. 静态的 i = 3,局部的 j = 1

10.2 外部变量(全局变量)

全局变量位于所有函数体之外(包括 main 函数),全局变量的声明周期是从文件开始,到文件结尾。它拥有和 static 一样的永久存储空间。

  1. #include <stdio.h>
  2. void test1();
  3. // c 就是一个全局变量
  4. int c=0;
  5. int main()
  6. {
  7. test1();
  8. test1();
  9. test1();
  10. test1();
  11. }
  12. void test1()
  13. {
  14. c++;
  15. printf("%d\n",c);
  16. }