Menu
CoddyTech

まとめ:ポインタの演習

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

challenge icon

チャレンジ

簡単

変数を宣言し、その変数を指すポインターを作成して、ポインターを通じて変数の値を変更するという、ポインターの一連の流れをすべて示すプログラムを作成してください。

次の入力が与えられます。

  • 変数の初期値を表す整数
  • ポインターを通じて代入する新しい値を表す整数

プログラムでは、次の処理を行ってください。

  1. scoreという名前の整数型変数を宣言し、1つ目の入力値で初期化する
  2. アドレス演算子を使って、score変数を指すscorePtrという名前のポインターを作成する
  3. ポインターを通さず、直接アクセスしてscoreの元の値を出力する
  4. 間接参照演算子を使って、ポインターを通じてscoreの値を2つ目の入力値に変更する
  5. 再び直接アクセスして、変更後のscoreの値を出力する
  6. ポインターに格納されているメモリアドレスを出力する

次の出力形式を厳密に使用してください。

Original score: [original value]
Modified score: [modified value]
Pointer address: [memory address]

自分で試してみよう

#include <iostream>
using namespace std;

int main() {
    // 入力値を読み取る
    int initialValue, newValue;
    cin >> initialValue;
    cin >> newValue;
    
    // TODO: 以下にコードを書く
    // 1. 'score' という名前の整数変数を宣言し、initialValue で初期化する
    // 2. score 変数を指す 'scorePtr' という名前のポインタを作成する
    // 3. "Original score: " を出力し、続けて score を出力する(score を直接読み取る)
    // 4. *scorePtr を使って score に newValue を設定する
    // 5. "Modified score: " を出力し、続けて score を出力する
    // 6. "Pointer address: " を出力し、続けて scorePtr を出力する
    
    return 0;
}

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

自分で練習してみよう: C++オンラインコンパイラ