struct kozo a[3];と宣言した場合は、
a[0].name、a[0].lv
a[1].name、a[1].lv
a[2].name、a[2].lv
が使えるようになります。で、ポインタでこの配列aのアドレスを指し示す場合は、フツーの変数の配列と同様に、配列名が先頭アドレスとなります。つまり「a」です。簡単な例を以下に示します。
#include<stdio.h>
#define MAX 3
struct kozo{
char *name; /* 名前 */
int lv; /* レベル */
};
main(){
struct kozo a[MAX],*p;
a[0].name="pygboku";
a[0].lv=25;
a[1].name="yxa";
a[1].lv=3;
a[2].name="Zako!";
a[2].lv=1;
for(p=a;p<a+MAX;p++)printf("%s:%d\n",p->name,p->lv);
}
で実行結果は、
pygboku:25
yxa:3
Zako!:1
つづく。