我正在用 C 语言构建一个 minishell,并且遇到了一个障碍,似乎可以通过使用全局变量(准确地说是 3 个)来轻松修复它。我认为全局变量是必要的原因是,替代方法是将这些变量传递给我程序中的几乎每个函数。
变量是 mainargc、mainargv 和 shiftMArgV。前两个分别是参数的数量和传递给 main 的参数列表。变量shiftedMArgV 是参数列表,但它可能已被移位。我正在尝试创建内置函数 shift 和 unshift,并使 shiftMArgV 指向不同的参数。
那么,让这些全球性的东西是愚蠢的吗?否则我将不得不修改大量的代码,而且我不确定通过使它们全球化我会失去任何东西。
如果我确实将它们设为全局,那么从主头文件中这样做会很愚蠢吗?
感谢大家的帮助,如果您需要任何澄清,请询问。