Visual Studio 2017でC言語を始める

C言語とは

背景

UNIXと呼ばれるオペレーティングシステムの開発用言語として、1972年にAT&Tベル研究所において、 デニス・リッチー (Dennis MacAlistair Ritchie)がブライアン・カーニハン (Brian Wilson Kernighan)と ともに開発したプログラミング言語です。

ポインタと呼ばれるアセンブラに近いコードが扱えて、メモリ効率を考慮したプログラミングが可能で、 オペレーティングシステムや、アプリケーションの開発用として使われています。

効率がよく、自由度が高いプログラミング言語ですが、 コンピュータを熟知していないと、バグとなるコード(不具合があるコード)ができやすく、 高いスキルのプログラミング能力を必要とします。

プログラミング開発のスタイル

プログラミングとは、『コンピュータの実行指示を作成する』ことと言えますが、その命令の 規則はプログラミング言語によってさまざまです。
C言語では、一般にファイル拡張子を『.c』とするテキストファイルにC言語命令を記述します。
このファイルは『C言語のソースファイル』と呼ばれます。
このソースファイルから開発ツールを使ってコンピュータが判断できるファイルを生成させます。 この生成したファイルが作品となるわけです。

現在の開発スタイルは、他の高級言語と同様に、統合的な開発用ツールで簡単に行われています。
一般的な開発ツールには、次の機能が含まれています。

ビルド機能の中では次のステップがあります。

正確には、コンパイルの前にプリプロセッサと呼ばれるツールにより、前処理が行われ、 それで作られたデータがコンパイルの対象になります。
ソースファイルの作り方に不具合がある場合は、この2つのstepそれぞれでエラーメッセージを出し、 作品生成を中断することになります。
つまりコンパイルエラーは、ある特定のソースファイル内の文法的な記述エラーを指摘し、 リンクエラーは複数に分かれていた機能をまとめる時に発見されたエラーの指摘となります。

いずれにせよ、エラーのメッセージが出た場合は、エラーが無くなるまでソースファイルなどの修正と ビルドを繰り返します。(エラーが無くなるまで作品はつくられません)

具体的なソースファイル

ソースファイルの書き方は、目標となる作品の種類によって違いますが、 一般的な通常のアプリケーションは、テキストファイルに次のよう記述を書くことになります。
(これはメイン関数と呼ばれています。)

main()
{



}

 この{ と }の間に、命令を列挙するスタイルです。
通常のアプリケーションとは、Windowsであればダブルクリックや開くの操作で起動するプログラムのことです。
上記プログラムは、通常のアプリケーションに必要な最低限の何もしないプログラムと言えます。
これをビルドすると、Windowsであれば瞬間的に動いてすぐ終わってしましまうプログラムとなります。
プログラムは、{ と }の間にある命令を順番に実行し、最後の } に達したらプログラムを終了する 規則になっています。
つまり、プログラムを練習する場合は、まず上記を書いてから、必要な命令の記述を挿入する手法がよいでしょう。