Cプログラミング言語の標準規格とは?main関数の正しい書き方を解説
この記事では、Cプログラミング言語で定義されている標準規格について解説します。標準規格とは、開発コミュニティによって定められた、プログラムがコンパイラによって理想的にコンパイルされるべき標準的な方法のことです。
理解を深めるために、誰もが一度は目にしたことのある、よくあるCプログラムの例を取り上げてみましょう。問題に気づいていても、その背景まで踏み込んで考えたことはないかもしれません。
main()関数のvoid戻り値型の問題
まず、次のプログラムを見てください。
void main() {
// プログラムコード
}
このプログラムは、Turbo Cコンパイラを使用すれば正常に動作します。しかし、他の多くのコンパイラでは「main関数の戻り値型をvoidにすることはできない」というエラーが発生します。さて、どちらが正しいのでしょうか。その答えは、標準規格の中に明記されています。
Cプログラミング言語の標準規格とは?
C言語の標準規格とは、コンパイラの開発者に対して定められた、コードのコンパイル方法に関する標準的な指針です。最新のC標準規格は2018年6月にリリースされたISO/IEC 9899:2018(通称C18)です。
この標準規格は、プログラムの動作、すなわち「プログラムは理想的にどのように実行されるべきか」「組み込み関数の正しい使い方や定義は何か」などを定義しています。
main()関数を例に見てみましょう。標準規格によれば、main()関数の正しい宣言方法は、引数なしまたは2つの引数を持ち、戻り値の型はintであることとされています。
構文
// 引数なしの場合
int main() {
/* コード */
}
// 引数2つの場合
int main(int argc, char *argv[]) {
/* コード */
}
このように、一部のコンパイラが遵守していない可能性のあるプログラミング上の標準規格は、他にも数多く存在します。異なる環境でも動作する移植性の高いコードを書くためには、これらの標準規格を意識することが非常に重要です。
-
Rubyで作るおもちゃのプログラミング言語「Stoffle」入門
プログラミング言語は、不思議でありながら魅力的な道具だと感じたことはありませんか?そのフードを覗き込み、内部で何が起きているのかを理解できたら素晴らしいと思いませんか?ゼロからプログラミング言語を作ってみたいという興味をお持ちなら、この記事と今後のシリーズ記事がきっと役立つはずです。 このシリーズでは、非常にシンプルなインタプリタ型・動的型付けのプログラミング言語を、ステップバイステップで一緒に作り上げていきます。「インタプリタ型」「動的型付け」といった用語の意味が今ひとつピンとこなくても、心配はいりません。実装には親しみやすいRubyを使い、初心者から上級者まで誰でもついてこられるよう、各
-
今こそ学ぶべきプログラミング言語おすすめTOP10
テクノロジーの進化により、私たちの世界は日々便利で豊かなものになっています。ハードウェアの進歩とともに、ソフトウェアも0と1だけのバイナリ言語から、自然言語に近い高度なプログラミング言語へと大きく進化してきました。プログラミング言語の普及に伴い、業界では特定の言語スキルが高収入の求人に有利になる傾向が強まっています。キャリアアップにつながる最適な言語を選びたい方に向けて、就職・転職に強いおすすめのプログラミング言語をランキング形式でご紹介します。 今学ぶべきプログラミング言語ベスト10 学ぶ言語を選ぶ際は、その言語がキャリアをどれだけ前進させられるか、自分のキャリア目標と合致しているかを考慮す