test00.c
- #include "test00.h"
- int b = 4;
- void test(int * a, int * b)
- {
- *a = 10;
- *b = 20;
- }
复制代码
main.c
- #include <stdio.h>
- #include "test00.h"
- #define TRUE 1
- int a; //全局变量
- extern int b; //外部变量 == 其他文件里的 全局 int b ;
- static int c = 5; //静态全局变量 (关于静态全局变量网上有个有意思的比喻)
- // 普通全局变量穿上static外衣后,它就变成了新娘,已心有所属,只能被定义它的源文件(新郎)中的变量或函数访问。
- int main(int argc, const char * argv[])
- {
- if (TRUE)
- {
- int d = 0; //局部变量 == 内部变量
- printf("d = %d , static int c = %d \n", d, c);
- }
- while (TRUE)
- {
- if (TRUE)
- {
- static int e = 0; //静态局部变量 : 内存中只有一份, 不会重复定义. 因此 e 是累加
- printf("e = %d\t", e);
- e++;
- if (e == 10)
- {
- printf("\n");
- break;
- }
- }
- }
-
- printf("a = %d, b = %d , c = %d \n", a, b, c);
- test(&a,&b);
- printf("a = %d, b = %d , c = %d \n", a, b, c);
- return 0;
- }
复制代码 |