C++ 指针数组

C++ 指针

ポインタ配列の概念を説明する前に、3つの整数からなる配列を使用した例を見てみましょう。

实例

#include <iostream> using namespace std; const int MAX = 3; int main () { int var[MAX] = {10, 100, 200}; for (int i = 0; i < MAX; i++) { cout << "Value of var[" << i << "] = "; cout << var[i] << endl; } return 0; }

上記のコードがコンパイルおよび実行されると、次の結果が生成されます。

Value of var[0] = 10
Value of var[1] = 100
Value of var[2] = 200

配列に int や char などのデータ型を指すポインタを格納したい場合があるかもしれません。以下は整数を指すポインタの配列の宣言です。

int *ptr[MAX];

ここで、〜をptrMAX個の整数ポインタで構成される配列として宣言されています。したがって、ptrの各要素はint値を指すポインタです。次の例では3つの整数を使用しており、それらはポインタ配列に格納されます。以下に示します。

实例

#include <iostream> using namespace std; const int MAX = 3; int main () { int var[MAX] = {10, 100, 200}; int *ptr[MAX]; for (int i = 0; i < MAX; i++) { ptr[i] = &var[i]; // 整数のアドレスを代入 } for (int i = 0; i < MAX; i++) { cout << "Value of var[" << i << "] = "; cout << *ptr[i] << endl; } return 0; }

上記のコードがコンパイルおよび実行されると、次の結果が生成されます。

Value of var[0] = 10
Value of var[1] = 100
Value of var[2] = 200

文字を指すポインタの配列を使って、文字列のリストを格納することもできます。次のようになります。

实例

#include <iostream> using namespace std; const int MAX = 4; int main () { const char *names[MAX] = { "Zara Ali", "Hina Ali", "Nuha Ali", "Sara Ali", }; for (int i = 0; i < MAX; i++) { cout << "Value of names[" << i << "] = "; cout << names[i] << endl; } return 0; }

上記のコードがコンパイルおよび実行されると、次の結果が生成されます。

Value of names[0] = Zara Ali
Value of names[1] = Hina Ali
Value of names[2] = Nuha Ali
Value of names[3] = Sara Ali

C++ 指针

其他扩展