カテゴリ: C++ 更新日: 2026/01/25

C++の変数とデータ型を徹底解説!初心者でも基礎からわかる総仕上げ

【まとめ】C++の変数とデータ型の理解を深める
【まとめ】C++の変数とデータ型の理解を深める

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

生徒

「先生、ここまでC++の変数やデータ型について学んできましたが、一度全体をおさらいして理解を深めたいです!」

先生

「いい心がけですね。変数はプログラミングの土台です。ここをしっかり固めると、この後の学習がぐっと楽になりますよ。」

生徒

「型がたくさんあって混乱しそうになりますが、整理すれば大丈夫でしょうか?」

先生

「もちろんです。今回は、学んだ知識を整理して、実際の使い分けや注意点を一つずつ復習していきましょう!」

1. 変数とはデータの「名札付きの箱」

1. 変数とはデータの「名札付きの箱」
1. 変数とはデータの「名札付きの箱」

プログラミングにおける変数(へんすう)とは、コンピューターのメモリと呼ばれる一時的な記憶場所に作る「データの入れ物」のことです。パソコンを触ったことがない方でも、整理整頓のための「収納ボックス」をイメージすると分かりやすいでしょう。

C++では、この箱を新しく作るときに「どんな種類のデータを入れるか」と「どんな名前を付けるか」を明確に決める必要があります。これを宣言(せんげん)と言います。名札(変数名)があるおかげで、私たちは後からその箱の中身を取り出したり、新しい中身に書き換えたりすることができるのです。この「情報の再利用」こそが、自動化プログラムの第一歩となります。

2. 主要なデータ型の特徴と使い分け

2. 主要なデータ型の特徴と使い分け
2. 主要なデータ型の特徴と使い分け

C++には多くのデータ型(でーたがた)が存在します。型とは「箱の大きさや形」のルールのことです。適切な型を選ぶことは、コンピューターの資源を効率よく使い、プログラムのバグ(間違い)を防ぐために非常に重要です。Google検索などで「C++ 型一覧」と調べると必ず出てくる代表的なものを整理します。

型名 用途
int 整数を扱う(一番よく使う) 年齢、個数、階数
double 小数を扱う(精密な計算) 身長、体重、平均値
char 1つの文字を扱う 'A'、'B'、'+'
std::string 文字列(文章)を扱う 名前、住所、メッセージ
bool 真偽値(二択)を扱う true(真)、false(偽)

3. 変数宣言と初期化の正しい手順

3. 変数宣言と初期化の正しい手順
3. 変数宣言と初期化の正しい手順

変数を宣言する際、ただ箱を作るだけでなく、最初に何か値を入れておくことを初期化(しょきか)と呼びます。初期化を忘れると、箱の中に「前の住人が残したゴミ(不定値)」が入ったままになり、思わぬエラーを引き起こすことがあります。

最近のC++では、安全のために波括弧 {} を使った初期化も推奨されています。まずは基本の形をマスターしましょう。


#include <iostream>
#include <string>

int main() {
    // 宣言と同時に初期化する
    int level = 1;
    double experience = 0.0;
    std::string playerName = "勇者";

    std::cout << playerName << "の現在のレベル: " << level << std::endl;
    return 0;
}

4. 数値計算とデータ型の相関関係

4. 数値計算とデータ型の相関関係
4. 数値計算とデータ型の相関関係

プログラミングでは、変数同士を使って計算を行います。ここで注意したいのが、異なる型が混ざった時の挙動です。例えば、整数 int と小数 double を計算すると、結果はより精度の高い double に自動的に合わせられます。これを型変換(かたへんかん)と言います。

逆に、小数を強引に整数の箱に入れようとすると、小数点以下が切り捨てられてしまいます。意図しない結果にならないよう、計算結果がどのような型になるかを常に意識することが、プログラムの「論理的思考」を養うことにつながります。


#include <iostream>

int main() {
    int gold = 100;
    double taxRate = 1.1; // 10%の税金

    // 整数と小数の計算結果は小数(double)になる
    double totalPrice = gold * taxRate;

    std::cout << "税込価格: " << totalPrice << "円" << std::endl;
    return 0;
}

税込価格: 110円

5. コンテナ(std::vector)で複数のデータを管理

5. コンテナ(std::vector)で複数のデータを管理
5. コンテナ(std::vector)で複数のデータを管理

これまでは「一つの箱に一つのデータ」を扱ってきましたが、実務では大量のデータをまとめて扱いたい場面が多々あります。そこで役立つのがSTLコンテナ、特に std::vector(ベクター)です。

ベクターは「仕切りのある大きな長い箱」のようなもので、後から長さを自由に変えることができます。これを動的配列と呼びます。初心者の方は、「データが増える可能性があるならベクターを使う」と覚えておけば間違いありません。


#include <iostream>
#include <vector>

int main() {
    // 整数の箱を並べたリストを作る
    std::vector<int> itemIds = {101, 102, 103};

    // 新しいデータを追加
    itemIds.push_back(104);

    std::cout << "アイテムの総数: " << itemIds.size() << std::endl;
    std::cout << "2番目のアイテムID: " << itemIds[1] << std::endl;

    return 0;
}

6. 定数(const)を使ってプログラムを保護する

6. 定数(const)を使ってプログラムを保護する
6. 定数(const)を使ってプログラムを保護する

一度決めたら後から絶対に変えたくない値には、const(コンスト)という魔法の言葉を付けます。これを定数(ていすう)と呼びます。例えば、ゲームの最大HPや、数学の円周率などです。

const を付けて宣言した変数を後から書き換えようとすると、コンピューターが「それはダメだよ!」と怒って(コンパイルエラーを出して)くれます。この仕組みを利用することで、不注意によるミスを防ぎ、より安全で壊れにくいプログラムを作ることができます。大規模な開発ほど、この定数の使い方が重要視されます。

7. 命名規則と読みやすさへの配慮

7. 命名規則と読みやすさへの配慮
7. 命名規則と読みやすさへの配慮

変数に名前を付ける際、何でも良いわけではありません。自分以外の人が見たときや、数ヶ月後の自分が読み返したときに「何のための箱か」がすぐ分かる名前にするのがマナーです。これをコーディング規約と言います。

  • int a; (何だか分からないのでNG)
  • int userAge; (ユーザーの年齢だと分かるのでOK)

このように、「意味のある単語」を組み合わせるのがコツです。単語の区切りを大文字にする「キャメルケース」や、アンダースコアでつなぐ「スネークケース」など、プロジェクトごとに決まったルールに従う習慣をつけましょう。

8. エラーを恐れずに型と向き合う

8. エラーを恐れずに型と向き合う
8. エラーを恐れずに型と向き合う

C++を学習し始めたばかりの頃は、型の不一致や宣言ミスによるエラーメッセージに圧倒されるかもしれません。しかし、エラーは失敗ではなく「コンピューターからのフィバイス」です。特に型に関するエラーは、プログラムの構造を論理的に見直す良い機会になります。

「この値は整数で足りるか?」「小数の精度が必要か?」「複数のデータをまとめるべきか?」と自問自答しながら型を選ぶ。このプロセスこそが、エンジニアとしての設計能力を鍛えてくれます。まずは身近な数字や文字を、自分なりに名付けた変数に入れて表示させるところから、楽しみながら続けていきましょう!

カテゴリの一覧へ
新着記事
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)の使い方を完全ガイド!初心者でもわかる基本操作