WindowsでLinux環境を利用できるWSL(Windows Subsystem for Linux)を有効化し、Ubuntuをインストールします。
wsl --install完了後、Microsoftストアから「Ubuntu」をインストールしてください。
Ubuntuターミナルで以下を実行し、ビルドに必要なツールを導入します。
sudo apt update
sudo apt install build-essential正しくインストールできたか確認するには:
gcc --version#include <stdio.h>
int main() {
printf("Hello, World!\n");
return 0;
}gcc hello.c -o hello./hello- 変数は値を格納する名前付きの箱。
- データ型を必ず指定します。
int a = 10; // 整数
float b = 3.14f; // 小数点
char c = 'A'; // 文字同じ型のデータを連続的に格納する構造。
int nums[5] = {1, 2, 3, 4, 5};
printf("%d\n", nums[0]); // 1 を出力複数の異なるデータをまとめて管理するための型。リスト構造も構造体で作れます。
// 構造体例
struct Point {
int x;
int y;
};
// 単方向連結リストの例
struct Node {
int data;
struct Node* next;
};- 変数とデータ型(int, float, char)
- 制御文(if, for, while, switch)
- 関数の定義と呼び出し
- ポインタとアドレス演算子(&、*)
- 構造体とユーザー定義型
- ファイル操作(fopen, fread, fwriteなど)
- 動的メモリ管理(malloc, free)
- Makefileを使ったビルド管理
複数ファイルの管理に便利です。以下は基本例です。
CC = gcc
CFLAGS = -Wall
all: main
main: main.o utils.o
$(CC) $(CFLAGS) -o main main.o utils.o
main.o: main.c utils.h
$(CC) $(CFLAGS) -c main.c
utils.o: utils.c utils.h
$(CC) $(CFLAGS) -c utils.c
clean:
rm -f *.o mainproject/
├── main.c
├── utils.c
├── utils.h
└── Makefile
make
./main-
gdb(デバッガ)
sudo apt install gdb gdb ./main
-
デバッグ情報付きコンパイル
gcc -g main.c -o main
-
メモリリーク検出にvalgrind
sudo apt install valgrind valgrind ./main
- Visual Studio Code + WSL拡張機能(初心者におすすめ)
- Vim(WSL内で軽量に使えます)
- Emacs(C言語開発に強力)