質問: int main(void) { int *data; int average=0; int array[10]={1,2,3,4,5,6,7,8,9,10}; for(data=array; data!=&array[10]; data++){ average+=*data; } printf("%d\n", average/10); return 0; } ### 補足情報(FW/ツールのバージョンなど) ここにより詳細な情報を記載してください。
回答: `data[i]`は`*(data + i)`と同じ意味です。 * `data + i`...`data`から`i`個離れた箇所を指す**ポインタ** * `*(data + i)`...`*`で逆参照されて`int`の左辺値になる なお、実用的に使う場面はまったくないですが、`i[data]`と書いても同じ意味です。