gpt4 book ai didi

c - 如何在其他文件中包含的 C 函数中使用全局变量

转载 作者:行者123 更新时间:2023-11-30 21:08:18 24 4
gpt4 key购买 nike

我有一个简单的程序,例如:

int velocity=0;

#include "extra.h"

int main()
{
extra();
return 0;
}

其中 extra.h 是:

void extra(){
velocity += 1;
}

但是当我编译这个时,我收到错误:

extra.h:5:5: error: 'velocity' was not declared in this scope

显然,我在extra.h中的代码无法“看到”main.c中的变量,但这是为什么呢?我该如何解决这个问题?

最佳答案

您可以将以下声明添加到extra.h:

extern int velocity;
<小时/>

但是,extra() 不应该首先在 extra.h 中定义。如果同一个二进制文件中的多个 .c 文件包含 extra.h,这将导致问题。以下是您应该拥有的:

extra.h:

void extra();

extra.c:

#include "extra.h"

static int velocity = 0;

void extra() {
velocity += 1;
}

main.c:

#include "extra.h"

int main()
{
extra();
return 0;
}

关于c - 如何在其他文件中包含的 C 函数中使用全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39578545/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com