1-16-4. ポインタの配列
公開日: 15:12 1. 基本編/1-16. ポインタ/1-16-4. ポインタの配列
ポインタの配列を理解する前に、int型の配列の使用例を考えてみましょう。
#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 << "var[" << i << "]の値 = ";
cout << var[i] << endl;
}
return 0;
}
上のコードをコンパイルし実行すると、次の結果が得られます。
var[0]の値 = 10
var[1]の値 = 100
var[2]の値 = 200
int型やchar型などへのポインタを保存する配列を管理したい状況を考えます。以下はint型へのポインタの配列の宣言です。
int *ptr[MAX];これはptrをMAX個のint型のポインタの配列と宣言します。従って、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]; // int型のアドレスを代入
}
for (int i = 0; i < MAX; i++)
{
cout << "var[" << i << "]の値 = ";
cout << *ptr[i] << endl;
}
return 0;
}
上のコードをコンパイルし実行すると、次の結果が得られます。
var[0]の値 = 10
var[1]の値 = 100
var[2]の値 = 200
また、char型へのポインタの配列を、文字列のリストを保存するのに使うこともできます。
#include <iostream>
using namespace std;
const int MAX = 4;
int main ()
{
char *names[MAX] = {
"Zara Ali",
"Hina Ali",
"Nuha Ali",
"Sara Ali",
};
for (int i = 0; i < MAX; i++)
{
cout << "names[" << i << "]の名前 = ";
cout << names[i] << endl;
}
return 0;
}
上のコードをコンパイルし実行すると、次の結果が得られます。
names[0]の名前 = Zara Ali
names[1]の名前 = Hina Ali
names[2]の名前 = Nuha Ali
names[3]の名前 = Sara Ali
0 件のコメント :
コメントを投稿