私はCでミニシェルを構築していますが、グローバル変数(正確には3)を使用することで簡単に修正できると思われる障害に到達しました。グローバルが必要だと思う理由は、代わりに、これらの変数をプログラム内のほぼすべての関数に渡すことになるからです。
変数は、mainargc、mainargv、およびshiftedMArgVです。最初の2つは、それぞれ引数の数とmainに渡される引数リストです。変数shiftedMArgVは引数リストですが、シフトされている可能性があります。組み込み関数shiftおよびunshiftを作成しようとしていますが、shiftedMArgVが異なる引数を指すようになります。
それで、これらを単にグローバルにするのは愚かなことでしょうか?そうしないと、非常に大量のコードを修正する必要があり、それらをグローバルにすることで何かが失われるかどうかはわかりません。
それらをグローバルにすると、メインヘッダーファイルからグローバルにするのはばかげていますか?
助けてくれてありがとう、何か説明が必要な場合はただ聞いてください。