セクション 1. 章 2
single
ポインタへのアドレスの代入
メニューを表示するにはスワイプしてください
ポインタを扱う際には、適切な初期化が重要であり、有効なメモリアドレスを指すようにすることで予期しない動作を防ぐことができます。
アドレス演算子と間接参照演算子
ポインタに値を代入するには、アドレス演算子(&)を使用し、メモリアドレスの値にアクセスするには間接参照演算子を使用します。
-
&: アドレス演算子、オペランドのメモリアドレスを返します。 -
*: 間接参照演算子、メモリアドレスに格納されている値を返します。
main.cpp
12345678#include <iostream> int main() { int variable = 10; std::cout << &variable << std::endl; std::cout << *(&variable) << std::endl; }
アドレス演算子(&)を使用することで、これらのアドレスをポインタに代入し、ポインタとその指し示すメモリ領域との直接的な関連付けが可能となる。
タスク
スワイプしてコーディングを開始
銀行システムでは、各顧客が口座残高を持っています。入金や出金などの取引によって、この残高が変動します。ただし、出金によって残高がマイナスになることは許されません。ポインタを使用して口座残高を更新・管理するプログラムを作成してください。
updateBalance 関数を実装し、ポインタを介して残高を変更することで取引を実行します。
updateBalance関数内で、出金によって残高がマイナスになるかどうかを確認します:amountが負で、かつ*p_balance + amount < 0の場合、その取引は許可されません。- この場合は
falseを返します。
- 取引が許可される場合、ポインタのデリファレンスを使って
*p_balanceに amount を加算し、残高を更新します。 - 取引が成功したことを示すために
trueを返します。
解答
すべて明確でしたか?
フィードバックありがとうございます!
セクション 1. 章 2
single
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください