gpt4 book ai didi

c - C 中 "extern"的问题

转载 作者:太空狗 更新时间:2023-10-29 11:25:32 25 4
gpt4 key购买 nike

在编程的时候,我想把一个大文件(包含main函数)拆分成很多小文件,所以有一种常见的情况:小文件中的函数可以修改主文件中的var,所以我觉得extern非常好有用!

例如:

在主程序中

 extern int i = 100;

在 small.c 中

extern int i;
fprintf(stdout, "var from main file: %d\n", i);

我只想知道我的理解对不对?

最佳答案

您必须更改一件事才能使其工作:main.c 中的 extern int i = 100; 应更改为 int i = 100;

即使可以这样做,我也不认为这是一个好的设计。您提取到单独文件中的内容应该可以单独使用,而无需了解 main.c 中的内容。

这种重构的一个有用策略:首先移动数据,然后移动使用该数据的函数。即先将i变量移动到small.c,再将使用i的函数移动。

如果您想移动函数而不是数据,请尝试将 i 作为参数传递,而不是使用 extern 声明来访问它。

关于c - C 中 "extern"的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4543316/

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