C言語は世の中で使われているほぼ全ての言語の祖先であると同時に、OS開発や組み込み開発等で広く使われています。本記事では、C言語について色々と紹介します。
C言語とは
C言語とは、プログラムを作るために利用するプログラム言語の一つです。C言語を使えば、さまざまな種類のコンピュータや装置の中で動作するプログラミングを開発することができます。
- 基本文法が標準的で学びやすい
- CPUやメモリを自由に制御できる
- PC以外の家電や機器の制御にも用いることができる
- コンピュータやプログラムの仕組みを深く学べる
基礎知識
C言語プログラムの開発は、①ソースコードの作成、②コンパイル、③実行の3つの手順で行います。それぞれの手順の内容を見ていきましょう。
- ソースコードの作成
- コンパイル
- 実行
はじめに、C言語が定める文法に従ってコンピュータへの命令を記述していきます。
「int main(void)〜」のような記述で、人間が読んで意味がわかる状態のプログラムをソースコード(source code)、または単にソースやコードと呼びます。
そして、記述したソースコードをファイルとして保存します。これをソースファイル(source file)といい、C言語のソースファイルには必ず「〜.c」という名前を指定します。
ソースファイルを保存しただけでは、プログラムを動作させることはできません。理由として、コンピュータの心臓部であるCPUは、マシン語(machine code)と呼ばれる言語で書かれたプログラムしか実行できないからです。
そこで開発者は、コンパイラ(compiler)というツールを用いて、ソースファイルの内容をマシン語のプログラムに変換します。この変換作業のことをコンパイル(compile)と呼びます。
コンパイルは、コマンドプロンプトやターミナルと呼ばれる、文字でコンピュータに様々な指示をする画面で、コンパイルのコマンドとコンパイルするファイル名を入力することができます。
変換の過程では、コンパイラによりソースコードの文法チェックが行われ、もし誤りがあれば警告やエラーが表示されます。
無事チェックを通過すると、マシン語で書かれた実行可能ファイル(executable file)が生成されます。変換の過程では、コンパイラによりソースコードの文法チェックが行われ、もし誤りがあれば警告やエラーが表示されます。無事チェックを通過すると、マシン語で書かれた実行可能ファイル(executable file)が生成されます。
ファイル名が「〜.exe」となっているのが実行可能ファイルです。
macOSやLinuxでは「〜.out」や何もついていない場合があります。
コンパイラが作成した実行可能ファイルは、マウスでダブルクリックするが、コマンドプロンプトからファイル名を入力することで入力できます。
ファイルの実行が指示されると、
▶︎OSは実行可能ファイルに書かれているマシン語を取り出してCPUに送ります。
▶︎CPUは届いたマシン語の命令に従い、計算や結果表示などを実行します。