C言語入門:④-2 C言語の基本的な型まとめ【補助知識】

C言語では、扱いたい内容に応じて型を使い分けます。
例えば、整数を扱う型、1文字を扱う型、小数を扱う型、複数の値をまとめて扱う型があります。

また、型には「何を扱うか」だけでなく、「どのくらいの大きさで扱うか」という違いもあります。
そのため本記事では、C言語で使用する型の種類に加えて、バイト数・ビット数との関係や、それを意識する必要がある場面についても整理します。

本記事の目的・学習目標

本記事の学習目標は、次の3点です。

  • C言語で使用される型の種類を理解する
  • 各型が何を扱うものなのかを整理して理解する
  • ユーザー定義の型を理解する

どのような型があり、それぞれがどのような役割を持っているのかを解説します。

型について

型とは、データの種類を表すものです。

例えばC言語では、

  • 整数
  • 小数
  • 文字

などの区別を行うために、を使用します。

型一覧

以下にC言語にて使用する型を一覧表にしてあります。

分類説明
整数型char小さい整数(主に1文字として使用)
整数型short小さい範囲の整数
整数型int基本的な整数
整数型long大きな整数
整数型long longさらに大きな整数
整数型unsigned0以上の整数を扱う
小数型float小数(単精度)
小数型double小数(高精度)
小数型long doubleより細かな小数
文字型char1文字を扱う型
配列int[]整数を複数まとめて扱う
配列char[]文字の並び(文字列)を扱う
特殊型void値を持たないことを表す型

ユーザー定義型

C言語では、あらかじめ用意されている型だけでなく、自分で新しい型を定義して使用することができます。

これを「ユーザー定義型」と呼びます。

主なユーザー定義型には、次の3つがあります。

  • 構造体(struct)
  • 共用体(union)
  • 列挙型(enum)

これらは、新しくデータの扱い方を自分で定義するための型です。

構造体

構造体は、異なる型の値をひとまとめにして扱うための型です。

整数と文字列のように、種類の違うデータを一緒に管理したいときに使用します。

共用体

共用体は、同じ領域を複数の型で共有するための型です。

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

列挙型

列挙型は、値に名前を付けて扱うための型です。

数値そのものではなく、意味のある名前で状態を管理したいときに使用します。

型の大きさ

通常の学習では、常に細かくバイト数・ビット数を意識する必要はありません。

細かなバイト数・ビット数の制限などが求められていない場合は「何を扱う型なのか」を理解することが重要です。

  • 整数なら int
  • 小数なら double
  • 1文字なら char
  • 文字列なら char の配列
  • 複数の同じデータなら配列

型の大きさまで厳密に考えるのは、

  • 扱う値が大きい
  • 精度が必要
  • メモリを意識する
  • 環境差を考える

といった段階に入ってからで問題ありません。

また、実際の大きさを確認したい場合は、sizeof を使用します。
sizeof は、型や変数が何バイトで扱われているかを調べるための演算子です。

このように書くことで、その環境での型の大きさを確認できます。

以下に各型のバイト数・ビット数を表にします。

バイト数の目安ビット数の目安
char18
short216
int432
long4 または 832 または 64
long long864
float432
double864
long double環境による環境による

ただし、C言語では型の大きさは環境によって異なります。
そのため、上の表は目安として見る必要があります。

まとめ

型は、プログラムの中で「何を扱うのか」を区別するためのものです。

また、型にはデータの種類だけでなく、大きさの違いもあります。
そのため、扱う値の範囲、メモリ使用量、計算の精度などによって、適切な型を選ぶ必要があります。

必要な型の大きさに制限がない場合は、「整数なのか、小数なのか、文字なのか」を区別して使用することが必要です。

本記事で登場した用語

本シリーズでは、記事で登場する専門用語を補助知識カテゴリの「④-4 用語辞典」 にまとめています。

① 型

データの種類を表すもの

② 整数型

小数を含まない数値を扱う型

③ 小数型

小数点を含む数値を扱う型

④ 配列

同じ型の値を複数まとめて扱う仕組み

⑤ 構造体(struct)

異なる型の値をまとめて扱う仕組み

⑥ 共用体(union)

同じ領域を複数の型で共有する仕組み

⑦ 列挙型(enum)

値に名前を付けて扱う仕組み

⑧ void

値を持たないことを表す型

⑨ バイト

データの大きさを表す単位

⑩ ビット

データの最小単位

⑪ sizeof

型やデータの大きさを調べるための演算子

関連記事

次の記事では、変数とデータ型の整理 について解説します。

▶ 次の記事
C言語入門:④-3 変数とデータ型の整理【補助知識】

◀ 前回の記事
C言語入門:④-1 コード記述にあたってのルールまとめ【補助知識】

◆同じカテゴリの記事一覧(概要ページ)
C言語入門シリーズ:④-0 補助知識【概要】

◆シリーズの記事一覧
C言語入門シリーズ:プログラムの基本構造【記事一覧】

2 COMMENTS

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です