質問: 基本的なことかもしれませんが、 ヘッダーファイルとみると、 変数の初めが「_」で始まるものを多く見かけます。 アンダーバーではじまる変数名について、 なにか特殊な意味があるのでしょうか? (「_」ではじまる変数をつくれることは知っていますが) cは初心者なので、解説よろしくお願いします。
回答: アンダーバーで始まる識別子(変数名など)は、 「予約済み」となっています。(jis x 3010 §7.1.3) これはどういうことかというと、 「処理系の方で、アンダーバーをつけた識別子を使うかもしれないから、 ユーザーは使わないでね」 ということです。 処理系が内部で使う識別子はアンダーバーをつけて、 ユーザーが使う識別子と混じらないようになっています。 現実には、アンダーバーをつけた識別子を使っても プログラムは動くと思いますが、 識別子名がかちあう危険性があるので使わない方がいいわけです。