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 件のコメント :
コメントを投稿