カテゴリ: C言語 更新日: 2026/01/17

C言語のデータ型とメモリサイズを完全解説!初心者でも理解できるメモリの仕組み

C言語のデータ型とメモリサイズを理解する方法
C言語のデータ型とメモリサイズを理解する方法

先生と生徒の会話形式で理解しよう

生徒

「C言語のデータ型ってなんですか?なんで種類が分かれているんですか?」

先生

「C言語では、値を入れる箱を使います。その箱が変数であり、どんな種類の値を入れるかによってデータ型が決まっています。」

生徒

「箱の種類が違うと何が変わるんですか?」

先生

「いちばん大事なのは、メモリをどれだけ使うかが変わることです。同じ整数でも使うメモリの量が違う場合があります。」

1. C言語のデータ型とメモリの関係

1. C言語のデータ型とメモリの関係
1. C言語のデータ型とメモリの関係

C言語では、整数、文字、小数など、いろいろな種類の値を扱います。パソコンの中では、すべてのデータはメモリという場所に保存されます。メモリは、大きな倉庫のようなもので、その中に値がしまわれています。どのくらいの場所を使うかは、データ型によって決まります。メモリを無駄に使いすぎると、プログラムが遅くなったり、保存できるデータが減ったりします。そのため、適切なデータ型を選ぶことは、C言語でとても重要なポイントになります。

データ型には、主に整数を扱うint、文字を扱うchar、小数を扱うfloatdoubleなどがあります。これらのデータ型は、それぞれ使用するメモリの量が異なります。例えば、整数のintは一般的に四バイト、小数のdoubleは八バイトを使うことが多いです。ただし、パソコンの種類やコンパイラによって変わることがあります。

2. メモリサイズを確認するsizeofとは?

2. メモリサイズを確認するsizeofとは?
2. メモリサイズを確認するsizeofとは?

C言語には、データ型や変数がどれだけのメモリを使うかを確認できるsizeofという仕組みがあります。これを使うと、プログラムの中で実際のサイズを調べることができます。


#include <stdio.h>

int main(void)
{
    printf("intは%dバイト\n", (int)sizeof(int));
    printf("charは%dバイト\n", (int)sizeof(char));
    printf("doubleは%dバイト\n", (int)sizeof(double));
    return 0;
}

実行すると、環境に応じてメモリのサイズが表示されます。


intは4バイト
charは1バイト
doubleは8バイト

3. ビットとバイトを簡単に理解しよう

3. ビットとバイトを簡単に理解しよう
3. ビットとバイトを簡単に理解しよう

メモリサイズの説明では、よくビットとバイトという言葉が出てきます。これは、パソコンが数字や文字を記録するときに使う単位です。バイトは八ビットで構成され、ビットはゼロかイチで表される最小の情報です。例えば、一バイトであればゼロとイチが八個並びます。文字を保存するときには、一バイトの箱が必要になります。数字が大きくなれば、そのぶんたくさんのバイトが必要になります。

たとえるなら、一バイトは八つのロッカーが並んだ箱のようなものです。整数や文字は、その箱に保存されます。数字が大きいほど、入る箱の数が増えていきます。この仕組みを理解すると、メモリサイズの感覚がつかめるようになります。

4. よく使う基本データ型とサイズ

4. よく使う基本データ型とサイズ
4. よく使う基本データ型とサイズ

C言語でよく使われるデータ型と、多くの環境で一般的なサイズは次のようになります。ただし、コンパイラやCPUの種類によって変わる場合があります。


char      // 1バイト
short     // 2バイト
int       // 4バイト
long      // 4または8バイト
float     // 4バイト
double    // 8バイト

5. データ型を理解するとプログラムが安全になる

5. データ型を理解するとプログラムが安全になる
5. データ型を理解するとプログラムが安全になる

データ型とメモリの関係を知らずにプログラムを書くと、入らない値を無理に入れたり、思っていた動作と違う結果になることがあります。メモリの小さなデータ型に大きな数字を入れてしまうと、値が壊れてしまうことがあります。こうした問題を防ぐために、どのデータ型がどのくらいのサイズなのかを知っておくことが大切です。

6. 実際に自分のパソコンで確認してみよう

6. 実際に自分のパソコンで確認してみよう
6. 実際に自分のパソコンで確認してみよう

自分のパソコンでsizeofを使って、データ型のサイズを確かめてみると、環境によって違いがあることが分かります。パソコンやコンパイラによっては、longのサイズが四バイトだったり八バイトだったりします。実際に試すことで、C言語のデータ型に対する理解が深まります。

カテゴリの一覧へ
新着記事
New1
Rust
Rustのmain関数とは?プログラム実行の流れを初心者向けに完全解説
New2
C言語
C言語のデータ型とメモリサイズを完全解説!初心者でも理解できるメモリの仕組み
New3
C++
C++の型変換(キャスト)を徹底解説!初心者でもわかるデータの変身
New4
C++
モダンC++とは?C++11以降の進化と新機能を初心者向けに徹底解説!
人気記事
No.1
Java&Spring記事人気No1
C言語
C言語の静的変数staticを完全ガイド!初心者でもわかる仕組みと使い方
No.2
Java&Spring記事人気No2
C言語
C言語の配列と文字列の基本を完全ガイド!初心者でもわかる宣言と使い方
No.3
Java&Spring記事人気No3
C言語
C言語の列挙型(enum)の使い方を完全ガイド!初心者でもわかる基本操作
No.4
Java&Spring記事人気No4
C言語
C言語の浮動小数点型(float, double)を完全ガイド!初心者でもわかる精度と違い
No.5
Java&Spring記事人気No5
C言語
LinuxでC言語開発環境を構築する方法【GCCとMakefileの基本】
No.6
Java&Spring記事人気No6
C++
MinGWとMSYS2でWindowsにC++環境を構築する方法を徹底解説!初心者でもできるセットアップガイド
No.7
Java&Spring記事人気No7
C++
CMakeの基本構文とCMakeLists.txtを初心者向けに解説
No.8
Java&Spring記事人気No8
C言語
C言語のソースコードとヘッダファイルの役割とは?初心者向けにわかりやすく解説!