配列があるとしましょう
int aVar[10];
...
...
for(i=0; i<10; i++)
aVar[i] = i*10;
ここで、私が知っているのは、配列がポインターとして参照され、インデックス付きの値の場所が次のようなもので計算されるということです(base address of aVar) + sizeof(int) * i
。私が間違っている場合は、私を修正してください。
私の質問:
この計算は、実行可能ファイルを実行する前にコンパイラによって既に行われていますか?それとも、実行中に行われた配列内の正確な位置を見つけるための算術計算ですか?
もちろん、aVar
コンパイル時に のアドレスを取得することはできません。