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其他扩展