1、建立2个文件;文件1:file1.c
// 文件:counter.c#include <stdio.h>static int count = 0; // 声明一个静态全局变量void increment() {count++; // 对静态全局变量进行递增操作
}
static int n_function()
//int n_function()
{printf("n_function static variable: %d\n", count);return count;
}void printCount() {printf("Count: %d\n", count); // 打印静态全局变量的值
}void normal_function() {static int static_var = 20; // 静态局部变量normal_var++; // 对普通局部变量进行递增操作static_var++; // 对静态局部变量进行递增操作printf("Normal variable: %d\n", normal_var);printf("Static variable: %d\n", static_var);n_function();
}
2、文件2:file2.c
// 文件:main.c#include <stdio.h>extern void increment(); // 在其他文件中引用增加计数的函数
extern void printCount(); // 在其他文件中引用打印计数的函数
extern void normal_function(); // 在其他文件中引用打印计数的函数
extern int n_function(); // 在其他文件中引用打印计数的函数int main() {
// printf("count %d",count);increment(); // 调用增加计数的函数printCount(); // 打印计数increment(); // 调用增加计数的函数printCount(); // 打印计数normal_function();normal_function();return 0;
}
参考:C语言 static extern 关键字详解-CSDN博客