C++でポインタの仕組みを理解する【変数のアドレスを操作する方法】

目次

概要

C++の学習において、「ポインタ」は避けて通れない重要な概念です。ポインタを理解することで、メモリの仕組み変数の操作方法を深く知ることができるようになります。

本記事では、C++におけるポインタの基本的な仕組みと、その確認方法を、シンプルなサンプルコードを通じて丁寧に解説いたします。

サンプルコード

#include <iostream>
using namespace std;

int main()
{
    int number;
    int* ptrNumber;

    number = 10;
    ptrNumber = &number;

    cout << "変数numberの値は " << number << " です。" << endl;
    cout << "変数numberのアドレス(&number)は " << &number << " です。" << endl;
    cout << "ポインタptrNumberの値は " << ptrNumber << " です。" << endl;

    return 0;
}

コード解説

int number;

  • 整数型の変数 number を宣言しています。

int* ptrNumber;

  • 整数型のポインタ変数 ptrNumber を宣言しています。
  • このポインタは、int 型の変数のアドレスを保持するためのものです。

ptrNumber = &number;

  • &number は変数 number のアドレスを取得する演算子です。
  • ptrNumber にそのアドレスを代入しています。

cout << ... による出力

出力内容説明
number の値単なる整数(例:10)が表示されます
&number(アドレス)メモリ上のアドレス(例:0x61fe14)が表示されます
ptrNumber の値&number と同じアドレスが表示されます

このように、ポインタを使うことで、変数がメモリ上のどこに存在しているかを直接確認することができます。

ポインタの基本ルール

  • * は「ポインタ型」を表す宣言で使います。
  • & は「アドレス演算子」で、変数のアドレスを取得します。
  • *ポインタ変数名 によって、そのアドレスに格納されている実際の値を取得・操作することができます(今回は未使用)。

応用例

ポインタは以下のような場面で活用されます。

  • 関数で引数を参照渡しする場合(Call by Reference)
  • 動的メモリ確保(new / delete
  • 配列や文字列の操作
  • ハードウェア制御や低レベルな処理

まとめ

本記事では、C++のポインタの基本構造について、次のポイントに沿って解説いたしました。

  • 変数のアドレスを & 演算子で取得できる
  • ポインタ変数にはそのアドレスを格納できる
  • cout でポインタと変数のアドレスを比較できる

ポインタは難しそうに見えますが、「変数のアドレスを操作できる特別な変数」として考えると、理解が進みやすくなります。まずは基本をしっかり押さえて、次のステップへと進みましょう。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次