Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ ポインタへのポインタの動的割り当て | 動的メモリ割り当て
C++ポインタと参照
セクション 4.  4
single

single

bookポインタへのポインタの動的割り当て

メニューを表示するにはスワイプしてください

ポインタへのポインタ(ダブルポインタ、** で表記)。

これは、別のポインタのメモリアドレスを保持するポインタ。簡単に言えば、その値が他のポインタのアドレスである変数。最初は複雑に感じるかもしれませんが、高度な動的メモリ割り当てを扱うための強力な仕組みを提供します。

構文

main.cpp

main.cpp

copy
12345678910111213
#include <iostream> int main() { int x = 10; int *ptr1 = &x; int **ptr2 = &ptr1; // Accessing values using double pointer std::cout << "Address stored in ptr2 (address of ptr1): " << ptr2 << std::endl; std::cout << "Address stored in ptr1 (address of x): " << *ptr2 << std::endl; std::cout << "Value of x: " << **ptr2 << std::endl; }
  • ptr1: 整数へのポインタ(int*
  • ptr2: 整数へのダブルポインタ(int**

二次元配列の動的確保

二次元配列を動的に(実行時に)作成する場合、行のためにポインタへのポインタを使用。

その後、各行を動的配列で初期化(前章と同様)。

タスク

スワイプしてコーディングを開始

スプレッドシートアプリケーションで、数値の表を動的に作成する必要がある場面を想像してください。

この課題では、動的な二次元配列を扱い、メモリの割り当て解放の両方を練習します。

  1. 関数 createAndPrint2DArray 内で、指定された行数と列数を持つ整数型の2次元配列を動的に割り当てます。
  2. 配列の各要素には row * columns + column という計算式で値を代入し、各要素がその位置に依存した一意の値となるようにします。
  3. 配列をコンソールに表形式で出力します。
  4. 各行とポインタ配列自体に対して delete[] を使用し、動的に割り当てたメモリを適切に解放します。

解答

Switch to desktop実践的な練習のためにデスクトップに切り替える下記のオプションのいずれかを利用して、現在の場所から続行する
すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 4.  4
single

single

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

some-alt