C言語では、扱いたい内容に応じて型を使い分けます。
例えば、整数を扱う型、1文字を扱う型、小数を扱う型、複数の値をまとめて扱う型があります。
また、型には「何を扱うか」だけでなく、「どのくらいの大きさで扱うか」という違いもあります。
そのため本記事では、C言語で使用する型の種類に加えて、バイト数・ビット数との関係や、それを意識する必要がある場面についても整理します。
本記事の目的・学習目標
本記事の学習目標は、次の3点です。
- C言語で使用される型の種類を理解する
- 各型が何を扱うものなのかを整理して理解する
- ユーザー定義の型を理解する
どのような型があり、それぞれがどのような役割を持っているのかを解説します。
型について
型とは、データの種類を表すものです。
例えばC言語では、
- 整数
- 小数
- 文字
などの区別を行うために、型を使用します。
型一覧
以下にC言語にて使用する型を一覧表にしてあります。
| 分類 | 型 | 説明 |
|---|---|---|
| 整数型 | char | 小さい整数(主に1文字として使用) |
| 整数型 | short | 小さい範囲の整数 |
| 整数型 | int | 基本的な整数 |
| 整数型 | long | 大きな整数 |
| 整数型 | long long | さらに大きな整数 |
| 整数型 | unsigned 系 | 0以上の整数を扱う |
| 小数型 | float | 小数(単精度) |
| 小数型 | double | 小数(高精度) |
| 小数型 | long double | より細かな小数 |
| 文字型 | char | 1文字を扱う型 |
| 配列 | int[] | 整数を複数まとめて扱う |
| 配列 | char[] | 文字の並び(文字列)を扱う |
| 特殊型 | void | 値を持たないことを表す型 |
ユーザー定義型
C言語では、あらかじめ用意されている型だけでなく、自分で新しい型を定義して使用することができます。
これを「ユーザー定義型」と呼びます。
主なユーザー定義型には、次の3つがあります。
- 構造体(struct)
- 共用体(union)
- 列挙型(enum)
これらは、新しくデータの扱い方を自分で定義するための型です。
構造体
構造体は、異なる型の値をひとまとめにして扱うための型です。

整数と文字列のように、種類の違うデータを一緒に管理したいときに使用します。
共用体
共用体は、同じ領域を複数の型で共有するための型です。

特殊な場面で使用されることが多く、入門段階では「同じ場所を別の型として使う仕組み」と理解すれば十分です。
列挙型
列挙型は、値に名前を付けて扱うための型です。

数値そのものではなく、意味のある名前で状態を管理したいときに使用します。
型の大きさ
通常の学習では、常に細かくバイト数・ビット数を意識する必要はありません。
細かなバイト数・ビット数の制限などが求められていない場合は「何を扱う型なのか」を理解することが重要です。
- 整数なら int
- 小数なら double
- 1文字なら char
- 文字列なら char の配列
- 複数の同じデータなら配列
型の大きさまで厳密に考えるのは、
- 扱う値が大きい
- 精度が必要
- メモリを意識する
- 環境差を考える
といった段階に入ってからで問題ありません。
また、実際の大きさを確認したい場合は、sizeof を使用します。
sizeof は、型や変数が何バイトで扱われているかを調べるための演算子です。

このように書くことで、その環境での型の大きさを確認できます。
以下に各型のバイト数・ビット数を表にします。
| 型 | バイト数の目安 | ビット数の目安 |
|---|---|---|
char | 1 | 8 |
short | 2 | 16 |
int | 4 | 32 |
long | 4 または 8 | 32 または 64 |
long long | 8 | 64 |
float | 4 | 32 |
double | 8 | 64 |
long double | 環境による | 環境による |
ただし、C言語では型の大きさは環境によって異なります。
そのため、上の表は目安として見る必要があります。
まとめ
型は、プログラムの中で「何を扱うのか」を区別するためのものです。
また、型にはデータの種類だけでなく、大きさの違いもあります。
そのため、扱う値の範囲、メモリ使用量、計算の精度などによって、適切な型を選ぶ必要があります。
必要な型の大きさに制限がない場合は、「整数なのか、小数なのか、文字なのか」を区別して使用することが必要です。
本記事で登場した用語
本シリーズでは、記事で登場する専門用語を補助知識カテゴリの「④-4 用語辞典」 にまとめています。
① 型
データの種類を表すもの
② 整数型
小数を含まない数値を扱う型
③ 小数型
小数点を含む数値を扱う型
④ 配列
同じ型の値を複数まとめて扱う仕組み
⑤ 構造体(struct)
異なる型の値をまとめて扱う仕組み
⑥ 共用体(union)
同じ領域を複数の型で共有する仕組み
⑦ 列挙型(enum)
値に名前を付けて扱う仕組み
⑧ void
値を持たないことを表す型
⑨ バイト
データの大きさを表す単位
⑩ ビット
データの最小単位
⑪ sizeof
型やデータの大きさを調べるための演算子
関連記事
次の記事では、変数とデータ型の整理 について解説します。
▶ 次の記事
C言語入門:④-3 変数とデータ型の整理【補助知識】
◀ 前回の記事
C言語入門:④-1 コード記述にあたってのルールまとめ【補助知識】
◆同じカテゴリの記事一覧(概要ページ)
C言語入門シリーズ:④-0 補助知識【概要】
◆シリーズの記事一覧
C言語入門シリーズ:プログラムの基本構造【記事一覧】

[…] ▶ 次の記事C言語入門:④-2 C言語の基本的な型(詳細)【補助知識】 […]
[…] C言語入門:④-2 C言語の基本的な型(詳細)【補助知識】 […]