Menu
Coddy logo textTech

アドレス演算子

CoddyのC++ジャーニー「論理と制御フロー」セクションの一部 — レッスン 2/56。

ポインタとは何かを理解したところで、変数のメモリ番地を実際に取得する方法を学ぶ必要があります。ここで、アドレス演算子 (&) の出番です。

アドレス演算子 & は、変数名の前に置くことで、そのメモリ・アドレスを取得します。&variable_name を使用すると、その変数が格納されているメモリ上の場所が返されます。

int number = 42;
int* ptr = &number;  // ptrはnumberのアドレスを格納するようになりました

この例では、&number は変数 number のメモリアドレスを取得し、そのアドレスをポインタ ptr に代入します。ポインタは値42を保持しているのではなく、42が格納されているアドレスを保持しています。

変数とそのポインタの間のこの接続は、メモリを直接操作するために不可欠です。アドレスを格納しているポインタがあれば、それを使用して元の変数に間接的にアクセスしたり、変更したりすることができます。

challenge icon

チャレンジ

簡単

整数変数とポインタを使用して、アドレス演算子を実演するプログラムを作成してください。

score という名前の整数変数を宣言し、値 85 で初期化します。

アドレス演算子を使用して score 変数のメモリ番地を格納する、scorePtr という名前のポインタを作成します。

ポインタに格納されているメモリ番地を、次の形式で出力してください:

Address: [memory address]

メモリ番地は、C++で一般的に表示される形式である16進数形式(0x7fff5fbff6ac など)で表示されます。

チートシート

アドレス演算子 & は、変数のメモリ番地を取得するために使用されます:

int number = 42;
int* ptr = &number;  // ptr は number のアドレスを格納します

&variable_name を使用すると、その変数が格納されているメモリ上の場所を返します。ポインタには、変数の実際の値ではなく、アドレスが含まれます。

自分で試してみよう

#include <iostream>
using namespace std;

int main() {
    // TODO: 以下にコードを書いてください
    
    return 0;
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

論理と制御フローのすべてのレッスン