参照方法
インデックスiの配列arrを参照するには、下記のように書けます。
x = arr[i];
ポインタで配列arrを参照するには、下記のように書けます。
iをインクリメントしながら配列の要素を順に参照できます。
pArr = arr; x = *(pArr + i);
下記のように、for文でループ処理して、配列の要素を順にポインタ参照できます。
pArr = arr;
for(i = 0; i < SIZE; i++){
printf("%d\n", *(pArr + i));
}
サンプルコード
下記がサンプルコードになります。
$ cat sample.c
#include <stdio.h>
#define SIZE 5
int main(){
int arr[SIZE];
int i;
int* pArr;
//配列の要素を初期化
for(i = 0; i < SIZE; i++){
arr[i] = i;
}
printf("indexを指定して配列を参照\n");
for(i = 0; i < SIZE; i++){
printf("%d\n", arr[i]);
}
printf("ポインタで配列を参照\n");
pArr = arr;
for(i = 0; i < SIZE; i++){
printf("%d\n", *(pArr + i));
}
return 0;
}
実行結果
下記が実行結果になります。
$ gcc sample.c -o sample $ ./sample indexを指定して配列を参照 0 1 2 3 4 ポインタで配列を参照 0 1 2 3 4
