ポインタと配列
ポインタと配列は相互変換できる
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; //エラー