ポインタと配列

ポインタと配列は相互変換できる

int array[] = {10,20,30,40};
int *pointer;

pointer = array; //pointにarrayの先頭アドレスが代入される

//下記は同じ結果になる
printf("%p\n", pointer); 
printf("%p\n", array);
printf("%p\n", &array[0]);


printf("%d\n", array[2]); //30
printf("%d\n", *(pointer + 2)); //30

//配列をポインタとして記述
printf("%d\n", *(array + 2)); //30

//ポインタを配列として記述
printf("%d\n", pointer[2])); //30
ポインタ/オフセット表記
*(pointer + 2)
ポインタ/添字表記
pointer[2]
配列名をポインタ演算で変更しようとするとエラーになる
array = array + 2; //エラー