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

C言語のsizeof演算子で型サイズを調べよう!初心者でもわかる変数とデータ型の仕組み

C言語の型サイズを調べるsizeof演算子の使い方
C言語の型サイズを調べるsizeof演算子の使い方

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

生徒

「C言語でintやcharはよく見るんですけど、それぞれがどれくらいの大きさなのか分かりません。」

先生

「実はC言語では、変数の大きさを調べるための便利な機能があります。それがsizeof演算子です。」

生徒

「変数の大きさって、何のために知る必要があるんですか?」

先生

「コンピュータは、変数をメモリに保存します。データ型によって必要なメモリの量が違うので、どれくらい使うのか知ることはとても大切なんだ。」

生徒

「なるほど!じゃあ実際に調べてみたいです。」

1. C言語のsizeof演算子とは?

1. C言語のsizeof演算子とは?
1. C言語のsizeof演算子とは?

C言語には、変数やデータ型がメモリ上で何バイト使うのかを調べるためのsizeof演算子があります。パソコンは数字や文字をメモリに保存しますが、メモリは有限です。使うデータ型によって、必要なメモリが変わります。例えば、charは一文字だけを保存するために使われ、intは整数を扱うために使われます。これらが何バイト使っているかを調べることで、プログラムの動きや仕組みが理解しやすくなります。

sizeof演算子は、変数にも型にも使える便利な演算子です。初心者でも簡単に扱えるため、C言語の学習で覚えておくと良い機能です。

2. sizeof演算子の基本的な使い方

2. sizeof演算子の基本的な使い方
2. sizeof演算子の基本的な使い方

使い方はとても簡単です。変数名またはデータ型を括弧で囲むだけで、バイト数が分かります。下のサンプルでは、int型とchar型のサイズを調べています。


#include <stdio.h>

int main(void)
{
    int a;
    char b;

    printf("int型のサイズ: %zuバイト\n", sizeof(a));
    printf("char型のサイズ: %zuバイト\n", sizeof(b));

    return 0;
}

int型のサイズ: 4バイト
char型のサイズ: 1バイト

int型は四バイト、char型は一バイトという結果が表示されました。これが、それぞれの変数がメモリに占める大きさです。パソコンによってサイズが変わることもあるため、実際にプログラムを動かして確認することが大切です。

3. 型名を直接指定しても使える

3. 型名を直接指定しても使える
3. 型名を直接指定しても使える

sizeof演算子は、変数だけでなく型そのものにも使えます。括弧の中にデータ型を直接入れて実行するだけです。


printf("long型のサイズ: %zuバイト\n", sizeof(long));
printf("float型のサイズ: %zuバイト\n", sizeof(float));

このように型を直接指定すると、その型がどれくらいのメモリを使うのかが分かります。C言語では、配列や構造体などの大きさも計測できるので、より大きなデータを扱うときにも役立ちます。

4. 配列とsizeofの関係

4. 配列とsizeofの関係
4. 配列とsizeofの関係

sizeof演算子は配列のバイト数も調べることができます。例えば、int型の配列を十個作ると、四十バイトになることがあります。それは、intが四バイト×十個だからです。


int data[10];
printf("配列のサイズ: %zuバイト\n", sizeof(data));

配列のサイズ: 40バイト

このように配列はまとまったメモリ領域を確保するので、sizeofで全体のサイズを調べると、個数がわかる仕組みになっています。配列を扱うときには、メモリの構造を理解することが大切です。

5. sizeofを使って安全なプログラムを書く

5. sizeofを使って安全なプログラムを書く
5. sizeofを使って安全なプログラムを書く

プログラムの中で、きちんとメモリの大きさを意識して変数や配列を扱うことで、メモリ不足やデータ破壊などの問題を防ぐことができます。特に配列を扱うとき、勘に頼って数を決めるのではなく、sizeofを使って柔軟に管理するとミスが減ります。

例えば、配列の個数を計算したい場合、配列全体の大きさを要素一つ分の大きさで割ることで求めることができます。


int data[10];
int count = sizeof(data) / sizeof(data[0]);
printf("配列の要素数: %d\n", count);

配列の要素数: 10

この方法なら、配列の個数を変更しても自動で正しい数が計算できます。C言語で配列処理をするときに、とてもよく使われるテクニックです。

6. なぜ型のサイズが違うのか?

6. なぜ型のサイズが違うのか?
6. なぜ型のサイズが違うのか?

C言語では、パソコンごとにメモリの大きさや環境が異なるため、データ型のサイズが違うことがあります。例えば、intが四バイトの環境もあれば、二バイトの環境もあります。そのため、プログラムを書いた人と実行した人の環境が違う場合、予想と異なる動きになる可能性もあります。

そこで役に立つのがsizeof演算子です。実際の環境で正しいメモリサイズを確認できるので、どんなパソコンでも安心して動くC言語プログラムを書く助けになります。

7. sizeof演算子は初心者の強い味方

7. sizeof演算子は初心者の強い味方
7. sizeof演算子は初心者の強い味方

プログラミング初心者にとって、メモリの存在は少し難しく感じるかもしれません。しかし、C言語を理解していくうえで、メモリの大きさやデータ型の仕組みを知ることはとても重要です。変数や配列をどう扱うかによって、プログラムのスピードやメモリの使い方が変わります。

sizeof演算子は、メモリの大きさを簡単に調べられる便利なツールです。C言語の学習で配列、構造体、整数型、小数点型などを扱うとき、sizeofを活用することで、より正確で安全なプログラムを作ることができます。

カテゴリの一覧へ
新着記事
New1
C++
C++のメンバアクセス演算子を完全解説!初心者でもわかる . → :: の使い方まとめ
New2
Rust
Rustの文字列を極める!&str(文字列スライス)の基本概念とString型との違い
New3
C++
C++のキャスト演算子を完全解説!dynamic_cast・static_cast・const_cast・reinterpret_castを初心者向けに説明
New4
C++
C++開発のIDE選びを完全ガイド!初心者でもわかるCLion・Eclipse CDT・Qt Creator比較
人気記事
No.1
Java&Spring記事人気No1
C++
C++の主要な実装をわかりやすく解説!GCC・Clang・MSVCの違いと特徴
No.2
Java&Spring記事人気No2
C言語
C言語を学ぶ初心者におすすめの環境構築手順【2025年版】
No.3
Java&Spring記事人気No3
C言語
C言語のソースコードとヘッダファイルの役割とは?初心者向けにわかりやすく解説!
No.4
Java&Spring記事人気No4
C言語
C言語をオンラインで実行できる便利なコンパイラサービスまとめ【初心者向け】
No.5
Java&Spring記事人気No5
C言語
Visual Studio CodeでC言語を実行する方法【拡張機能の設定と実行手順】
No.6
Java&Spring記事人気No6
C言語
C言語開発でよく使われるエディタとIDEランキング【初心者向け完全ガイド】
No.7
Java&Spring記事人気No7
C++
C++リンカとコンパイラのオプション設定を完全ガイド!初心者にもわかる開発環境の基礎
No.8
Java&Spring記事人気No8
C言語
C言語の列挙型(enum)の使い方を完全ガイド!初心者でもわかる基本操作