C言語のきほん|C言語をさわってみる

まずは動かす、そこからわかる。C言語の最初の一歩をやさしく体験しよう。

2章で開発環境の準備ができたら、いよいよ「実際に動かしてみる」段階ですね。
ここから先は、難しい理屈を全部理解してから進む必要はありません。まずは、C言語のプログラムを書いて、コンパイルして、実行してみる。この流れを一度体験することがとても大切です。

最初の学習は、絵でいうと下絵を描くようなものです。最初から細部まで完璧に描こうとすると、どうしても手が止まりやすくなります。C言語も同じで、最初は「こういう流れで動くんだ」という全体像をつかめれば十分です。あとから、変数・条件分岐・繰り返し・関数などを一つずつ上塗りしていけば、自然と理解が深まっていきます。

このページでは、C言語の最初の体験として、プログラム作成の基本の流れ(記述 → コンパイル → リンク → 実行)を、表と具体例でしっかり整理していきます。
特に初心者の方がつまずきやすい「コンパイルって何?」「リンクって何?」の違いも、やさしく分けて説明していきます。

C言語をさわるときに最初に知っておきたいこと

C言語の学習では、いきなり文法だけを覚えるよりも、まず「どうやってプログラムが完成するか」を知るのがおすすめです。
C言語のプログラムは、書いたらそのまま実行できるわけではなく、いくつかの段階を通って実行できる形になります。

全体像をつかむためのまとめ

項目役割ここでのポイント
ソースコード人が読むためのプログラムVS Code などで書く
コンパイルソースコードを変換する処理機械に近い形へ変換する
オブジェクトファイルコンパイル後の中間ファイルまだ実行はできない
リンク必要な部品を結合する処理ライブラリとつなぐ
実行ファイル最終的に実行できるファイルコマンドで起動できる

初心者のうちは、コンパイルとリンクをまとめて「ビルド」と呼ぶ場面も多いですが、学習の初期で違いを軽く知っておくと、エラーの意味が理解しやすくなります。

初めてのC言語プログラムを作成する流れ

ここでは、本文にある 4つの手順 を一つずつ確認していきます。
この部分は、C言語学習の土台になるので、少し丁寧に見ていきましょう。

① ソースコードを記述する

最初のステップは、テキストエディターでソースコードを書くことです。
たとえば hello.c のように、拡張子を .c にして保存します。このファイルを ソースファイル と呼びます。

ソースコードは人間が読みやすい形で書かれています。
つまり、今の段階では「人向けの説明書」のようなものです。コンピュータはこのままだと直接実行できないため、次にコンパイルが必要になります。

ソースコード記述で出てくる項目

項目意味補足
ソースコードC言語で書かれたプログラム本文人が読める形
ソースファイルソースコードを保存したファイル例: hello.c
拡張子 .cC言語ファイルであることを示すファイル名の最後につく
テキストエディターコードを書くためのソフト例: VS Code

ここで大事なのは、ソースコード = 文字として書いた設計内容であり、まだ実行できるものではない、という点です。

② コンパイルする

コンパイルは、ソースファイルをコンピュータが扱いやすい形に変換する作業です。
Windows環境では、GCC などのコンパイラーを使ってコンパイルします。

このとき作られるのが オブジェクトファイル です。
ただし、このオブジェクトファイルはまだ途中の状態で、そのままでは実行できません。

コンパイルで出てくる項目

項目意味補足
コンパイルソースコードを変換する処理コンパイラーが担当
コンパイラーコンパイルを行うソフト例: GCC
機械語コンピュータが理解しやすい命令形式人には読みにくい
オブジェクトファイルコンパイル結果の中間ファイル例: xxx.o
エラー(コンパイル時)文法ミスなどで変換できない状態この段階で見つかることが多い

初心者の方は、コンパイルが通っただけで安心しがちですが、まだリンクという大事な工程が残っています。

③ リンクする

リンクは、コンパイルしてできたオブジェクトファイルに、必要なライブラリなどを結合して、実行できる形に仕上げる作業です。
この処理を行うのが リンカー です。

たとえば、画面に文字を出す printf のような機能は、ライブラリ側の部品を使っています。
そのため、ソースコードを書いただけではなく、リンク時に必要な機能を結びつける必要があります。

リンクで出てくる項目

項目意味補足
リンク複数の部品を結合する処理実行ファイル作成の仕上げ
リンカーリンクを行うソフトビルド工程の一部
ライブラリファイル便利な機能がまとまった部品集画面出力・文字列操作など
実行ファイル実際に起動できるファイル例: xxx.exe
リンクエラー必要な部品が見つからないなどの問題関数未定義などで発生

コンパイルでソースコードを変換し、リンクで必要な機能をつないで、はじめて実行できる形になる、という順番を意識すると理解しやすいです。

④ 実行する

最後に、リンクして作られた実行ファイルを CLI(コマンドライン)で実行します。
Windowsならコマンドプロンプトで、実行ファイル名を入力して起動します。

ここでやっと、画面にメッセージが表示されたり、処理結果を確認できたりします。
つまり、ここまでが「C言語プログラムを動かす」一連の流れです。

実行段階で出てくる項目

項目意味補足
実行実行ファイルを起動すること結果を確認する段階
CLI文字で命令を入力する画面例: コマンドプロンプト
実行結果プログラムの出力内容画面表示や計算結果など
確認期待どおり動いたかを見る学習ではここが大事

プログラミング学習は、実行して結果を見て、必要なら直して、また実行する、この繰り返しで上達していきます。

C言語プログラム作成の流れを整理

表でわかりやすくまとめ直すと次のようになります。

C言語プログラム作成の流れ(4ステップ)

手順作成・利用するもの処理内容使用ソフト
ソースファイル(xxx.c)ソースコードを書くテキストエディター(VS Code など)
オブジェクトファイル(xxx.o)コンパイルするコンパイラー(GCC など)
実行ファイル(xxx.exe)オブジェクトファイルとライブラリをリンクするリンカー
実行結果実行ファイルを動かすCLI(コマンドプロンプトなど)

ライブラリファイルとは何かをもう少し詳しく

ライブラリファイルは、よく使う機能をあらかじめまとめた「便利な部品集」のようなものです。

たとえば、画面に文字を表示する処理や、文字列を扱う処理を毎回ゼロから自分で作るのは大変ですよね。
そこで、よく使う機能はライブラリとして用意されていて、リンク時に取り込んで使えるようになっています。

ライブラリのイメージ

たとえC言語での意味
工具箱便利な機能が入っている
部品棚必要な機能を選んで使える
共通パーツ毎回作り直さなくてよい

初心者のうちは難しく考えすぎなくて大丈夫で、ライブラリ = 便利な機能のまとめと覚えておけば十分です。

Windows 11・VS Code・GCC で学ぶ意味

使用環境の役割

項目役割学習でのメリット
Windows 11OS(作業する土台)利用者が多く、情報を探しやすい
VS Codeテキストエディター見やすく、補助機能が多い
GCCコンパイラーC言語学習の定番
コマンドプロンプト実行するCLI環境実行の流れを理解しやすい

1つ1つのソフトには役割があります。
初心者の方は「どれが何をしているのか」が混ざりやすいので、書くもの(VS Code)変換するもの(GCC)実行する場所(コマンドプロンプト)を分けて覚えるのがコツです。

サンプルプログラム

ファイル名:message.c

#include <stdio.h>

int main(void)
{
    /* はじめてのC言語実行メッセージを表示する */
    printf("First Step C Language\n");

    /* プログラムを正常終了する */
    return 0;
}

処理はシンプルですが、C言語の基本構造(ヘッダ、main 関数、printf、return)がすべて入っています。
「まず動かす」という目的にぴったりです。

サンプルプログラムの各項目

ここでは、上のサンプルプログラムに出てくる各項目を、表と文章でしっかり確認していきます。

サンプルプログラム構成

記述役割詳しい説明
#include <stdio.h>標準入出力の準備printf を使うために必要なヘッダファイルを読み込む
int main(void)プログラムの開始地点実行は main から始まる。int は戻り値の型
{ }処理の範囲を示すmain 関数の中身を囲む
/* ... */コメント説明を書くための文。実行には影響しない
printf(...)文字を表示する画面に文字列を出力する関数
\n改行次の表示を改行して見やすくする
return 0;正常終了を返す問題なく終わったことをOSに伝える

この表では、1行ごとの意味を「役割」と「詳しい説明」に分けています。
学習初期は、なんとなく写経して動かすだけでもOKですが、少しずつ「この1行は何のためにあるか」を理解していくと、次の学習につながりやすくなります。

特に初心者の方がよく気になるのは、#include <stdio.h> と return 0; の2つです。
printf は「表示する命令」としてわかりやすいのですが、前後の部分は意味が見えにくいですよね。
でも、実はこの2つも大事で、前者は printf を使う準備、後者はプログラム終了の合図になっています。

実際の作成から実行までの手順(Windows 11 / GCC)

ここからは、実際にどう操作するかを、具体的なコマンド付きで整理します。
ファイル名は message.c として説明します。

実行までの操作手順

手順操作内容
1VS Code でソースコードを作成して保存message.c
2コマンドプロンプトを開く作業フォルダへ移動
3コンパイルするgcc message.c -o message
4実行するmessage
5結果を確認するC言語の最初の一歩です と表示される

ポイントは、保存 → コンパイル → 実行の順番を毎回意識することです。
初心者のうちは、保存し忘れて古い内容のままコンパイルしてしまうこともよくあるので、まず保存してから進める習慣をつけると安心です。

コマンドの意味をやさしく分解する

コンパイル時の命令も、見慣れないうちは長く感じます。
ここでは gcc message.c -o message を分解して確認します。

コンパイルコマンドの分解表

部分意味役割
gccGCC を使う命令コンパイラーを起動する
message.c入力ファイルコンパイルしたいCソース
-o出力ファイル名を指定するオプション作成する実行ファイル名を決める
message出力される実行ファイル名実行時に使う名前

よくあるつまずきポイントも先に知っておこう

最初の学習では、うまくいかないことも普通にあります。
でも、よくある原因はパターンが決まっているので、先に知っておくと安心です。

初学者のよくあるつまずき

症状よくある原因対応
gcc が使えないGCC のパス設定が未完了環境変数の設定を確認する
実行ファイルが作られないコンパイルエラーがあるエラーメッセージの行番号を確認する
変更したはずなのに反映されない保存前にコンパイルした先に保存してから再コンパイルする
実行時に日本語が乱れる文字コード設定の不一致cmd 側の文字コード設定を確認する
ファイルが見つからない作業フォルダが違うcd で正しいフォルダに移動する

この表は、学習中に「あれ?動かない」となったときの確認用です。
最初はエラーを見て不安になりやすいですが、エラーは「どこを直せばいいか」を教えてくれるヒントでもあります。
一つずつ確認していけば、ちゃんと前に進めます。

ここで登場した各項目の総まとめ

重要な項目を、最後に一覧で整理しておきます。

登場項目の総まとめ

項目詳しい意味学習上のポイント
C言語古くから使われている基本的なプログラミング言語文法が明快で基礎力がつく
ソースコード人が読めるプログラムの記述内容まずはここを書くところから始まる
ソースファイルソースコードを保存した .c ファイル例: hello.c
コンパイルソースコードを機械向けの形式へ変換する処理コンパイラーが担当
コンパイラーコンパイルを行うソフト例: GCC
オブジェクトファイルコンパイル後の中間成果物まだ実行できない
リンクオブジェクトとライブラリを結合する処理実行ファイル作成の仕上げ
リンカーリンクを行うソフトコンパイラーと連携して動くことが多い
ライブラリファイル便利な機能が入ったファイルprintf などの機能を使う土台
実行ファイル実際に起動できる最終ファイルWindows では xxx.exe になりやすい
CLI文字で命令を入力する画面コマンドプロンプトなど
VS Codeソースコードを書くエディター学習用として使いやすい
Windows 11今回の説明対象OS操作手順の前提環境

ここまでの学びを一言でまとめると

C言語の最初の一歩で大切なのは、完璧に理解することより、一度最後まで動かしてみることです。
ソースコードを書く、コンパイルする、リンクする、実行する。この流れを体験できれば、もう立派なスタートが切れています。

最初は小さなプログラムで大丈夫です。
短いコードでも、自分で書いて、実行して、画面に結果が出る。この体験が、これからの学習のいちばん強い土台になります。