まとめ:ポインタの演習
CoddyのC++ジャーニー「論理と制御フロー」セクションの一部。レッスン 8/56。
チャレンジ
簡単変数を宣言し、その変数を指すポインターを作成して、ポインターを通じて変数の値を変更するという、ポインターの一連の流れをすべて示すプログラムを作成してください。
次の入力が与えられます。
- 変数の初期値を表す整数
- ポインターを通じて代入する新しい値を表す整数
プログラムでは、次の処理を行ってください。
scoreという名前の整数型変数を宣言し、1つ目の入力値で初期化する- アドレス演算子を使って、
score変数を指すscorePtrという名前のポインターを作成する - ポインターを通さず、直接アクセスして
scoreの元の値を出力する - 間接参照演算子を使って、ポインターを通じて
scoreの値を2つ目の入力値に変更する - 再び直接アクセスして、変更後の
scoreの値を出力する - ポインターに格納されているメモリアドレスを出力する
次の出力形式を厳密に使用してください。
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++オンラインコンパイラ