C 言語 | ポインター | ポインターの配列
各要素がポインターである配列を作成する方法を説明する。ポインターの配列を使うと、大量のデータを構造的に管理できる。
ポインターの配列を作る
ポインターはメモリーアドレスを保存する変数の一種である。整数型などの通常の変数と同じように、ポインターも配列に格納できる。各要素がポインターである点を除けば、通常の配列と同じように扱える。1 次元配列でも多次元配列でも基本は同じである。
ポインターの配列は次のように宣言する。
ポインター配列の宣言
型 *ポインター変数名[];
この構文を使うと、複数のポインターを配列としてまとめて管理できる。インデックスを指定して保存されたアドレスを取得したり、そのアドレスにある内容にアクセスしたりできる。配列とポインターを理解していれば、ポインター変数を配列にしたものとして扱える。
たとえば、複数の文字列を配列のように管理する場合、多次元配列よりも文字列へのポインターを配列として管理するほうが自然である。
コード 1
#include <stdio.h>
int main() {
char *chStr[] = {
"Blue Blue Glass Moon" ,
"Under The Crimson Air"
};
printf("%s\n%s\n" , *chStr , *(chStr + 1));
return 0;
}
コード 1 の配列 chStr は、文字列へのポインターを格納する 2 つの要素で構成されている。配列の要素に文字列そのものが入っているわけではなく、文字列へのポインターだけを保存している。2 次元配列による文字列テーブルと比べて柔軟であり、参照するアドレスを変更するだけでテーブルを更新できる。