
C言語の基本|C言語を学ぶための開発環境
C言語の学習は、コードを書く前の環境づくりから始まる。道具の役割を理解して、迷わずプログラミングを始めよう。
C言語を学び始めると、
「早くプログラムを書いてみたい」
「画面に文字を表示してみたい」
「実際に動くコードを作ってみたい」
と思うのではないでしょうか。
C言語の文法を覚えることももちろん大切ですが、実際にプログラムを動かすためには、その前に準備しておかなければならないものがあります。
それが開発環境です。
特にWindowsでC言語を学ぶ場合は、最初からC言語のソースコードを書いて実行できる環境がすべて整っているとは限りません。
そこで、
- ソースコードを書くための道具
- ソースコードをコンピュータが実行できる形へ変換する道具
- それらの道具を操作する方法
を準備する必要があります。
最初は、
「コードを書くだけなのに、どうしてこんなに準備が必要なのだろう」
と感じるかもしれません。
しかし、ここで開発環境の役割を理解しておくことは、その後のC言語学習にとても役立ちます。
たとえば、プログラムが実行できなかったときにも、
「ソースコードに問題があるのか」
「コンパイラーに問題があるのか」
「コマンドの入力方法に問題があるのか」
と、原因を切り分けて考えられるようになります。
反対に、開発環境の仕組みをよく分からないまま使っていると、エラーが発生したときに、
「何が動いていないのか分からない」
という状態になりやすくなります。
そのため、C言語学習では、環境を作ること自体も大切な学習の一部です。
この教材ではWindowsを中心に、
- Visual Studio Code
- GCC
- CLI
という3つを組み合わせてC言語を学習していきます。
この段階では、細かなインストール手順をすべて覚える必要はありません。
まずは、
何を用意するのか
それぞれ何のために使うのか
どのようにつながっているのか
を理解して、これから行う環境構築の全体像をつかんでいきましょう。
開発環境とは何か
開発環境とは、プログラムを作るために必要になる道具や仕組みをまとめた環境のことです。
C言語では、基本的に次のような流れでプログラムを作ります。
- C言語のソースコードを書く
- ソースコードを保存する
- コンパイラーでコンパイルする
- 実行できるプログラムを作る
- プログラムを実行する
- 実行結果を確認する
- 必要があればソースコードを修正する
つまり、プログラミングとは、単に文字を入力するだけの作業ではありません。
書く → 変換する → 実行する → 確認する
という一連の作業を繰り返します。
この一連の作業を行えるようにするものが開発環境です。
開発環境の基本的な役割
| 項目 | 内容 |
|---|---|
| 開発環境 | プログラムを作成・変換・実行するための環境 |
| ソースコード作成 | テキストエディターを使ってC言語を書く |
| コンパイル | コンパイラーを使って実行可能な形へ変換する |
| 操作 | CLIなどを使ってコンパイラーやプログラムを実行する |
| 結果確認 | 実行結果やエラーメッセージを確認する |
| 学習上の目的 | コードを書いて実際に動かすところまで経験する |
初心者が特に覚えておきたいのは、開発環境は必ずしも1つのソフトウェアではないということです。
C言語の学習では、役割の異なる複数の道具を組み合わせて利用します。
C言語の学習では実際に動かすことが大切
プログラミングは、本を読んだり文法を暗記したりするだけでは身につきにくい分野です。
たとえば、ifという条件分岐の書き方を読んで理解したつもりでも、実際に自分で入力すると、
- セミコロンを忘れる
- 波かっこの位置を間違える
- 条件式を間違える
- 変数名を入力し間違える
といったことがあります。
そして、その間違いをコンパイラーから教えてもらい、自分で修正することで理解が深まります。
C言語では、
書く
だけでなく、
- コンパイルする
- エラーを確認する
- 修正する
- もう一度コンパイルする
- 実行する
という経験がとても大切です。
そのため、開発環境を作ることは、C言語を本格的に学ぶためのスタート地点になります。
C言語の開発で用意する3つの道具
この教材では、C言語の学習に必要な中心的な道具として、次の3つを使います。
- テキストエディター
- コンパイラー
- CLI
それぞれ役割が違います。
C言語開発で使用する主な道具
| 道具 | 主な役割 | この教材で利用するもの |
|---|---|---|
| テキストエディター | C言語のソースコードを書く | Visual Studio Code |
| コンパイラー | ソースコードを実行可能な形へ変換する | GCC |
| CLI | コマンドを入力してコンパイルや実行を行う | PowerShellまたはコマンドプロンプト |
この3つを簡単に表現すると、
VS Codeで書く → GCCで変換する → CLIから操作して実行する
という関係になります。
この流れを最初に頭に入れておくと、これからインストールするソフトウェアが何のために必要なのか分かりやすくなります。
図1:C言語の開発に必要な3つの道具

この図から分かること
C言語の開発では、1つの道具だけですべての作業を行うわけではありません。
まずテキストエディターを使ってC言語のソースコードを書きます。
次に、そのソースコードをコンパイラーへ渡し、コンピュータが実行できる形へ変換します。
そしてCLIを使ってコンパイラーを操作したり、作成されたプログラムを実行したりします。
この3つには、それぞれ異なる役割があります。
初心者の段階では、
テキストエディター = 書く道具
コンパイラー = 変換する道具
CLI = 操作する方法
と覚えると分かりやすいでしょう。
テキストエディターはソースコードを書くための道具
最初に必要になるのがテキストエディターです。
テキストエディターは、文字を入力したり修正したりするソフトウェアです。
C言語では、ソースコードを文字として記述するため、何らかのテキストエディターが必要になります。
Windowsには文字を入力できるアプリケーションがありますが、プログラミングを学ぶのであれば、プログラミング向けの機能を備えたテキストエディターを利用すると便利です。
この教材ではVisual Studio Code、一般にVS Codeと呼ばれるエディターを使用します。
テキストエディターの役割
| 項目 | 内容 |
|---|---|
| 主な役割 | ソースコードを入力・編集する |
| 保存するもの | C言語のソースファイル |
| 初心者への効果 | コードを読みやすく整理できる |
| この教材 | VS Codeを使用 |
| 注意点 | エディターだけではC言語を実行できない |
最後の項目は特に重要です。
VS Codeをインストールしただけで、C言語をすぐ実行できるとは限りません。
VS Codeは基本的にコードを書くための場所です。
実際にC言語をコンパイルするためには、別途コンパイラーが必要です。
ここを混同すると、
「VS Codeを入れたのにC言語が動かない」
という疑問につながりやすいので注意しましょう。
プログラミング向けエディターは何が便利なのか
通常の文字入力用ソフトウェアでもC言語のコードを書くこと自体はできます。
しかし、プログラミング向けのエディターには、コードを書く作業を助けるさまざまな機能があります。
初心者に特に役立つ代表的なものが、
- コード補完
- シンタックスハイライト
- 自動インデント
です。
プログラミング向けエディターの便利な機能
| 機能 | できること | 初心者にとってのメリット |
|---|---|---|
| コード補完 | 入力途中から候補を表示する | 入力ミスを減らしやすい |
| シンタックスハイライト | コードを種類ごとに色分けする | コードの構造を確認しやすい |
| 自動インデント | 字下げを自動的に整える | 処理のまとまりを見やすくできる |
これらは単に見た目をきれいにするための機能ではありません。
たとえばC言語では、ifやfor、関数などで波かっこを使います。
コードが長くなったときにインデントが整っていると、
「この処理はどのifの中にあるのか」
「この波かっこはどこまでの処理なのか」
を判断しやすくなります。
また、シンタックスハイライトによって、キーワードや文字列などが色分けされれば、記述ミスに気づきやすくなることもあります。
コード補完は入力を助けてくれる
コード補完は、文字を入力している途中で候補を表示してくれる機能です。
たとえば長い名前の入力や、決まった構文を書くときなどに役立ちます。
初心者の場合、まだ命令や関数名に慣れていないため、スペルミスが起こりやすくなります。
コード補完があれば、入力候補を参考にできます。
ただし、補完されたコードを何も考えずに選ぶのではなく、
「何が入力されたのか」
を確認する習慣をつけることも大切です。
開発ツールは学習を助けてくれますが、コードの意味を理解することが最終的な目的です。
シンタックスハイライトでコードを読みやすくする
シンタックスハイライトでは、プログラムの中の要素が種類ごとに色分けされます。
たとえば、
- キーワード
- 数値
- 文字列
- コメント
などが異なる見た目になります。
長いソースコードをすべて同じ色の文字で見るよりも、構造を把握しやすくなります。
初心者にとっては、
「ここは文字列」
「ここはC言語のキーワード」
と視覚的に判断しやすくなる点もメリットです。
自動インデントで処理のまとまりを見やすくする
インデントとは、行の先頭に空白を入れて字下げすることです。
C言語では、波かっこによって処理の範囲を表します。
インデントそのものがC言語の処理を決定するわけではありませんが、正しく字下げされているコードは圧倒的に読みやすくなります。
たとえば条件分岐の中にさらに繰り返しがある場合でも、インデントが整っていれば階層関係を確認しやすくなります。
つまり、自動インデントには、
プログラムの構造を視覚的に整理する
という重要な役割があります。
この教材でVS Codeを使う理由
この教材では、C言語を書くエディターとしてVS Codeを使用します。
VS Codeを利用する理由はいくつかあります。
VS Codeの特徴
| 特徴 | 内容 | 初心者にとってのメリット |
|---|---|---|
| シンプルに使い始められる | 基本的な編集画面が分かりやすい | コードを書くことに集中しやすい |
| 拡張機能を追加できる | 必要に応じて機能を増やせる | 学習が進んでも使い続けやすい |
| 複数のOSで利用できる | Windows、macOS、Linuxなどで利用できる | 環境が変わっても操作経験を活かしやすい |
| 無料で利用できる | 学習開始時の費用を抑えられる | 気軽に導入できる |
| 多くの言語を扱える | C言語以外のコードにも利用できる | 将来別言語を学ぶときにも使いやすい |
C言語を学ぶためだけに特殊なエディターを覚えるのではなく、その後ほかの言語を学習するときにも利用できるエディターに慣れておくことにはメリットがあります。
ただし、VS CodeそのものがC言語のコンパイラーではありません。
この違いは必ず理解しておきましょう。
コンパイラーはC言語を実行できる形へ変換する
テキストエディターでC言語を書いたら、次に必要になるのがコンパイラーです。
C言語のソースコードは、人間が読み書きしやすい形になっています。
しかし、CPUがC言語のソースコードをそのまま読んで実行しているわけではありません。
そこで、C言語で書かれたソースコードをコンピュータが実行できる形へ変換する必要があります。
その役割を担当するのがコンパイラーです。
コンパイラーの基本的な役割
| 項目 | 内容 |
|---|---|
| 入力 | C言語のソースコード |
| 主な処理 | ソースコードを実行可能な形へ変換する |
| 出力 | 実行するためのプログラム |
| 学習上の重要度 | C言語を実際に動かすために必要 |
| この教材 | GCCを利用する |
| エラー時 | ソースコードの問題をメッセージで知らせる |
C言語学習では、コンパイラーはなくてはならない存在です。
VS Codeでどれだけ正しいソースコードを書いても、コンパイラーがなければ通常のC言語学習で行うコンパイル作業ができません。
コンパイルとは何をしているのか
コンパイルという言葉は、これからC言語を学ぶ中で何度も登場します。
初心者の段階では、
人間向けに書いたC言語を、コンピュータが実行できる形へ変換する処理
と理解するとよいでしょう。
基本的なイメージは次のようになります。
C言語のソースコード → コンパイラー → 実行できるプログラム
つまり、エディターとコンパイラーは役割が違います。
エディターはソースコードを作る場所です。
コンパイラーは、作られたソースコードを処理する道具です。
コンパイラーは間違いも教えてくれる
コンパイラーの役割は、単にプログラムを変換するだけではありません。
ソースコードの中に問題があれば、エラーや警告を表示してくれます。
たとえば、
- C言語の文法に合っていない
- 必要な記号が不足している
- 変数名の使い方に問題がある
- データ型の扱いに問題がある
といったときに、メッセージが表示されることがあります。
初心者のうちは、このメッセージを見ると難しく感じるかもしれません。
しかし、エラーメッセージは、
コンパイラーからプログラマーへのヒント
と考えることもできます。
どの部分に問題がありそうなのかを確認しながら修正する経験も、C言語学習の重要な一部です。
この教材ではGCCを利用する
この教材では、C言語をコンパイルするためにGCCを利用します。
GCCは、C言語をはじめとしたプログラムのコンパイルに利用できる代表的な開発ツールです。
C言語の教材や開発環境について調べていると、GCCという名前を目にする機会は多いでしょう。
GCCを利用する主な理由
| 理由 | 内容 | 学習上のメリット |
|---|---|---|
| 広く利用されている | C言語開発でよく知られている | 情報を調べやすい |
| 複数環境で利用できる | さまざまなOS環境で利用される | 学んだ知識を別環境でも活かしやすい |
| 長い利用実績がある | 多くの開発で利用されてきた | 安心して学習用に利用できる |
| 無償で利用できる | 費用をかけずに導入できる | 初心者でも始めやすい |
| CLIから利用できる | コマンドでコンパイルできる | コンパイルの仕組みを理解しやすい |
この教材でGCCを利用する大きな理由の1つは、コンパイルという作業を自分で確認しやすいことです。
ボタンをクリックするだけでコンパイルが完了する環境も便利ですが、最初にGCCをCLIから使うことで、
「今、自分はソースコードをコンパイラーへ渡している」
という流れを意識できます。
CLIは文字でコンピュータへ操作を伝える
次に理解しておきたいのがCLIです。
CLIはCommand Line Interfaceの略です。
日本語では、コマンドラインインターフェースと呼ばれます。
CLIでは、画面上のボタンをマウスでクリックするのではなく、文字でコマンドを入力してコンピュータを操作します。
Windowsでは、代表的なものとして、
- PowerShell
- コマンドプロンプト
があります。
macOSやLinuxでは、ターミナルと呼ばれる環境からコマンドを操作することが一般的です。
CLIの基本
| 項目 | 内容 |
|---|---|
| 正式名称 | Command Line Interface |
| 操作方法 | コマンドを文字で入力する |
| Windows | PowerShell、コマンドプロンプト |
| macOS・Linux | ターミナルなど |
| C言語学習 | GCCの実行や作成したプログラムの実行に利用 |
| 学習効果 | コンパイルから実行までの流れを確認しやすい |
初めてCLIを見ると、
「黒い画面に文字しかなくて難しそう」
と感じるかもしれません。
しかし、C言語学習で最初に使う操作は、それほど大量ではありません。
少しずつ使っていけば慣れていきます。
図2:ソースコードが実行されるまでの開発環境の関係

この図から分かること
C言語の開発では、ソースコードを書いた直後にプログラムが動くわけではありません。
まずVS Codeなどのエディターでソースコードを書き、ファイルとして保存します。
次にCLIからGCCを操作してコンパイルします。
GCCがソースコードを処理し、実行できるプログラムを作ります。
そのあと、作成されたプログラムを実行して結果を確認します。
もし途中でエラーが見つかれば、ソースコードへ戻って修正します。
つまり、C言語の学習では、
編集 → 保存 → コンパイル → 実行 → 確認 → 必要なら修正
という流れを何度も繰り返します。
この流れを理解しておくと、VS Code、GCC、CLIがそれぞれ何のために存在しているのか分かりやすくなります。
なぜC言語学習でCLIを使うのか
現在のコンピュータには便利なGUIがたくさんあります。
それなら、
「わざわざ文字でコマンドを入力しなくてもよいのではないか」
と思うかもしれません。
しかし、C言語の入門学習ではCLIを使うことに大きなメリットがあります。
CLIを利用する理由
| 理由 | 内容 | C言語学習での効果 |
|---|---|---|
| コンパイルを自分で確認できる | GCCを直接操作する | コンパイラーの役割が分かる |
| 実行の流れが見える | 作成されたプログラムを自分で実行する | ソースコードと実行ファイルの違いが分かる |
| ファイル操作を学べる | フォルダー移動などをコマンドで行う | 開発者としての基礎操作になる |
| 他のツールにも応用できる | 多くの開発ツールがCLIに対応する | 将来の学習にも役立つ |
| エラーを直接確認できる | コンパイラーからの出力を確認する | 問題解決の練習になる |
特に重要なのが、
ソースコードを書くことと、コンパイルすることは別の処理
だと実感できる点です。
便利な開発環境では、この2つをボタン1つで行えることがあります。
それは非常に便利ですが、初心者のうちは裏側で何が起きているのか分からないまま操作できてしまうことがあります。
CLIで一度基本的な流れを経験しておけば、後から便利な開発環境を使うときにも、
「このボタンを押した裏側ではコンパイラーが動いている」
と理解できます。
CLIは古い方法ではない
CLIというと、昔のコンピュータで使われていた古い操作方法という印象を持つ人もいるかもしれません。
しかし、CLIは現在のソフトウェア開発でも重要な操作方法です。
開発では、さまざまなツールをコマンドから操作する機会があります。
C言語の学習でCLIに慣れることは、
C言語を動かすためだけの練習
ではなく、
これからさまざまな開発ツールを扱うための基礎練習
にもなります。
最初はコマンドを入力すること自体に慣れていなくても問題ありません。
意味を確認しながら少しずつ使っていけばよいでしょう。
GUIとCLIの違いを理解する
GUIとCLIは、コンピュータを操作する方法の違いです。
GUIはGraphical User Interfaceの略で、ボタン、アイコン、メニューなどの画面要素を使って操作します。
CLIはコマンドを文字で入力して操作します。
GUIとCLIの比較
| 項目 | GUI | CLI |
|---|---|---|
| 操作方法 | ボタンやアイコンを操作する | コマンドを文字で入力する |
| 初心者の印象 | 視覚的で分かりやすい | 最初は難しく見えやすい |
| 操作内容 | 画面上から選択する | コマンドとして指定する |
| 細かな操作 | 画面に用意された機能を利用する | オプションなどを指定しやすい |
| 自動化 | 操作によっては手作業が中心になる | 複数処理をまとめることもできる |
| C言語学習 | 手軽に操作できる | コンパイルの仕組みを確認しやすい |
ここで、
「CLIのほうが優れている」
「GUIは使わないほうがよい」
という意味ではありません。
GUIには、初心者でも操作しやすい大きなメリットがあります。
CLIには、処理の内容を直接指定しやすいというメリットがあります。
大切なのは、目的によって使い分けることです。
この教材では、C言語のコンパイルと実行の仕組みを理解しやすくするためにCLIを利用します。
GUIを使えることとCLIを使えることは両立する
実際の開発では、GUIかCLIのどちらか一方だけを使うとは限りません。
たとえば、
- VS CodeはGUIで操作する
- GCCはCLIから実行する
- ファイルはエクスプローラーから確認する
- 必要に応じてCLIからフォルダーを移動する
というように組み合わせることができます。
今回の学習環境も、この組み合わせです。
VS Codeでは分かりやすい画面を使ってコードを書き、コンパイルや実行ではCLIを利用します。
つまり、
GUIの便利さ
と
CLIの分かりやすい処理の流れ
の両方を活用します。
IDEという選択肢もある
プログラミングについて調べていると、IDEという言葉を見かけることがあります。
IDEはIntegrated Development Environmentの略で、日本語では統合開発環境と呼ばれます。
IDEは、プログラミングに必要になるさまざまな機能を1つの環境へまとめたものです。
たとえば、
- ソースコードの編集
- コンパイルやビルド
- プログラムの実行
- デバッグ
などをまとめて操作できます。
IDEの基本
| 項目 | 内容 |
|---|---|
| 正式名称 | Integrated Development Environment |
| 日本語 | 統合開発環境 |
| 主な機能 | 編集、ビルド、実行、デバッグなど |
| メリット | 1つの画面から開発を進めやすい |
| 初心者への注意 | 自動化されている部分の仕組みが見えにくいことがある |
| この教材 | まずVS Code・GCC・CLIの関係を理解する |
IDEは非常に便利な道具です。
実際の開発では、IDEを使う場面もあります。
しかし、最初からすべて自動化された環境だけを使っていると、
「コンパイルとは何か」
「コンパイラーはどこで動いているのか」
「ソースコードと実行プログラムは何が違うのか」
が見えにくくなることがあります。
IDEを使わないのではなく、先に仕組みを理解する
この教材でCLIを利用するからといって、
「IDEは使わないほうがよい」
という意味ではありません。
むしろ、基本的な仕組みを理解したあとでIDEを利用すると、IDEが何を自動的に行ってくれているのか分かるようになります。
たとえばIDEで「実行」ボタンを押したときにも、
「内部ではソースコードがコンパイルされ、そのあと作成されたプログラムが実行されている」
と想像できます。
この違いは大きいです。
道具の操作だけを覚えるのではなく、裏側の仕組みを理解して使えるようになります。
VS Code・GCC・CLIはどのようにつながるのか
ここまで、それぞれの役割を個別に見てきました。
改めて3つの関係を整理しましょう。
まずVS CodeでC言語を書きます。
書いたソースコードをファイルとして保存します。
そのあとCLIを開きます。
CLIからGCCへ、
「このソースコードをコンパイルしてください」
という操作を行います。
GCCがコンパイルに成功すると、実行するためのプログラムが作られます。
最後にCLIから、そのプログラムを実行します。
流れとして整理すると、次のようになります。
- VS Codeを起動する
- C言語のソースコードを書く
- ソースファイルとして保存する
- CLIを開く
- GCCを使ってソースコードをコンパイルする
- エラーがあればVS Codeへ戻って修正する
- コンパイルに成功したらプログラムを実行する
- 結果を確認する
この流れは、これからC言語を学ぶ中で何度も繰り返すことになります。
図3:VS Code・GCC・CLIを使ったC言語学習の流れ

この図から分かること
C言語学習は、
コードを書いて終わり
ではありません。
コードを書き、保存し、コンパイルし、実行し、結果を確認するところまでが1つの流れです。
そして、最初から必ず成功するわけでもありません。
コンパイル時にエラーが表示されたら、VS Codeへ戻ってコードを修正します。
修正したら、もう一度コンパイルします。
この、
書く → コンパイル → 確認 → 修正
という繰り返しが、プログラミング学習ではとても大切です。
エラーが出ること自体は失敗ではありません。
エラーの原因を見つけて修正することで、C言語の文法やコンピュータの仕組みへの理解が深まっていきます。
WindowsでC言語を学ぶときの環境を整理する
この教材では、Windowsを中心にC言語の開発環境を準備します。
Windowsで学習する場合に意識しておきたいものを整理すると、次のようになります。
Windowsで準備する開発環境
| 項目 | この教材での方針 |
|---|---|
| OS | Windows |
| テキストエディター | VS Code |
| コンパイラー | GCC |
| CLI | PowerShellまたはコマンドプロンプト |
| ソースファイル | VS Codeで作成する |
| コンパイル | CLIからGCCを利用する |
| 実行 | CLIから作成したプログラムを実行する |
Windowsの場合、C言語を学ぶための環境を自分で整える作業が必要になります。
最初だけ少し準備する内容がありますが、いったん環境を整えれば、その後は同じ流れで学習を進められます。
Windowsで最初につまずきやすい理由
初心者がWindowsでC言語を学習するとき、コードを書く前の段階でつまずくことがあります。
代表的なのは、
- VS Codeを入れればC言語が動くと思っていた
- GCCが利用できる状態になっていない
- CLIからGCCを実行できない
- ファイルを保存した場所が分からない
- CLIで現在いるフォルダーが分からない
といったケースです。
これらはC言語の文法そのものの問題ではありません。
開発環境の問題です。
だからこそ、最初に、
VS Code
GCC
CLI
を別々のものとして理解することが大切です。
「コードのエラー」と「環境のエラー」を分けて考える
C言語学習でとても役立つ考え方があります。
それは、
コードに問題があるのか、開発環境に問題があるのかを分けて考える
ことです。
たとえば、GCCそのものをCLIから起動できないのであれば、まだC言語ソースコードの内容を確認する段階ではないかもしれません。
逆にGCCが動作し、特定のソースコードをコンパイルしたときに文法エラーが表示されるのであれば、ソースコード側を確認します。
問題を切り分けられると、エラーへの対応がずっとしやすくなります。
問題を切り分ける考え方
| 状況 | 確認する対象 |
|---|---|
| VS Codeが起動しない | エディターの環境 |
| GCCを実行できない | コンパイラーの環境 |
| CLI操作がうまくいかない | コマンドやフォルダー |
| GCCは動くがコンパイルエラーになる | ソースコード |
| コンパイルできるが実行できない | 実行方法や作成されたファイル |
初心者のうちからこの考え方を持っておくと、
「何か分からないけれど動かない」
という状態から、
「どの段階までは正常に動いているのか」
を考えられるようになります。
macOSやLinuxでは環境が少し異なる
この教材ではWindowsを中心に説明しますが、C言語はWindowsだけで利用する言語ではありません。
macOSやLinuxでもC言語を学習できます。
ただし、最初に用意されているツールや導入方法はOSによって異なります。
OSごとの開発環境のイメージ
| OS | 初期状態の傾向 | 学習時に意識すること |
|---|---|---|
| Windows | 追加の開発環境構築が必要になることがある | エディター、コンパイラー、CLIの関係を理解する |
| macOS | 開発用ツールを追加して利用する場合がある | 利用できるコンパイラーを確認する |
| Linux | 開発ツールが利用できる場合もある | ディストリビューションごとの環境を確認する |
ここで重要なのは、
C言語そのものがOSごとに完全に別物になるわけではない
ということです。
開発環境の導入方法やツールの配置などは異なりますが、
- ソースコードを書く
- コンパイルする
- 実行する
という基本的な考え方は共通しています。
そのため、WindowsでCLIやコンパイラーの役割を理解しておけば、将来Linuxなどを使うようになったときにも知識を活かしやすくなります。
最初からすべてのツールを使いこなす必要はない
開発環境についてここまで読むと、
「VS Codeも覚えて、GCCも覚えて、CLIも覚えなければならないのか」
と少し大変に感じるかもしれません。
しかし、最初からすべての機能を使いこなす必要はありません。
VS Codeについても、最初は、
- ファイルを作る
- コードを書く
- ファイルを保存する
ことができれば十分です。
CLIについても、
- 必要なフォルダーへ移動する
- GCCを実行する
- 作成したプログラムを実行する
という基本操作から始めればよいでしょう。
GCCについても、最初からすべてのオプションを覚える必要はありません。
必要な操作を、その都度意味を確認しながら少しずつ増やしていけば十分です。
開発環境は「使える」だけでなく「役割が分かる」ことが大切
初心者向けの環境構築では、
「このボタンを押してください」
「このコマンドを入力してください」
と手順だけを覚えることもできます。
しかし、それだけでは環境が少し変わったときに対応しにくくなります。
そこで、この教材では操作と一緒に、
なぜそのツールを使うのか
も理解していきます。
たとえば、
VS Codeを使うのは、ソースコードを書くためです。
GCCを使うのは、C言語をコンパイルするためです。
CLIを使うのは、GCCや実行プログラムを操作するためです。
この関係が理解できれば、あとで別のエディターや別の開発環境を使うことになっても、
「役割としては同じものが必要になる」
と考えられます。
開発環境を理解するとIDEも分かりやすくなる
VS Code、GCC、CLIを別々に使う経験をすると、後でIDEを使ったときにも理解が深まります。
IDEの画面には、
- コードを書く場所
- 実行するボタン
- エラーを表示する場所
- デバッグする機能
などがまとめられています。
一見すると、IDEだけでプログラムがすべて動いているように見えます。
しかし、基本を理解していれば、
「コードを書く処理」
「コンパイルする処理」
「実行する処理」
が裏側で連携していると考えられます。
そのため、最初に開発環境の構成を理解しておくことは、将来もっと便利なツールを使うための準備にもなります。
開発環境を整えることもプログラミング学習の一部
C言語の学習というと、変数やif、for、関数などを覚えることだけを想像しがちです。
しかし実際のプログラミングでは、コードを書く以外にも多くの作業があります。
- ファイルを作る
- 保存場所を管理する
- コンパイラーを実行する
- エラーを読む
- プログラムを実行する
- 結果を確認する
- 問題があれば修正する
こうした一連の作業も、プログラマーが日常的に行う開発作業の一部です。
つまり、開発環境の準備は、C言語学習を始めるためだけの面倒な作業ではありません。
プログラムを自分で作り、自分で動かすための第一歩です。
この段階で覚えておきたい3つの役割
環境構築へ進む前に、まず3つだけしっかり区別しておきましょう。
VS Code
VS Codeは、C言語のソースコードを書くために使います。
基本的な役割は、
書く
ことです。
GCC
GCCは、C言語のソースコードをコンパイルするために使います。
基本的な役割は、
変換する
ことです。
CLI
CLIは、GCCを実行したり、作成されたプログラムを実行したりするために使います。
基本的な役割は、
操作する
ことです。
この3つを組み合わせると、
VS Codeで書く → CLIからGCCを使ってコンパイルする → CLIから作成したプログラムを実行する
というC言語学習の基本的な流れが完成します。
これから環境構築を進めるときも、ただ手順を追うのではなく、
「今インストールしているものは、書くための道具なのか」
「変換するための道具なのか」
「操作するためのものなのか」
と役割を考えながら進めてみてください。
そうすると、開発環境の構成が頭の中で整理され、実際にC言語を書き始めたときにも、コンパイルから実行までの流れを理解しながら学習を進められるようになります。
