C语言工程中 如何在工程中定义一个变量但只对本文件的所有函数生效而不影响工程中的其他子文件?

2025-04-17 14:31:43
推荐回答(1个)
回答1:

首先这个全局的变量,肯定是不能放在头文件的;

你只需在全局变量前加static就能限制在本文件使用了, 函数也是

//示例:

//a.c
static int a = 200;
void fun(void)
{    
    printf("%s, %d\n", __FUNCTION__, a);
}
//b.c
static int a = 100;

extern void fun(void);

int main()
{
    printf("%s, %d\n", __FUNCTION__, a);
    fun();
    return 0;
}