ポインタと配列

C

配列の名前そのものは、配列の最初の要素を指し示すポインタの役割をする。

//aはa[0]へのポインタを表す
int a[4];

配列の最初要素以降を呼び出すには、ポインタを加算していく。
ポインタには整数の加算と減算のみ可能。

int *p = a+2; //前から(配列の)2個目の値を指し示す
int *q = p-1; //後ろから(配列の)1個目の値を指し示す

配列の型によって、ポインタの進み方は異なる。

long a[4];
long *p = a+1; //4バイトづつ進む

char c[4];
char *q = c+1; //1バイトづつ進む

配列aがある場合、a自身はa[0]へのポインタなので*aは格納場所ある値=a[0]となる。
同時にa[1] =* (a+1)、a[2] =* (a+2)、と書くことも可能

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です