なぜ本は「コンパイラがメモリ内の変数にスペースを割り当てる」と言うのでしょうか。それを実行する実行可能ファイルではありませんか?たとえば、次のプログラムを書くと、
#include <iostream>
using namespace std;
int main()
{
int foo;
return 0;
}
コンパイルし、実行可能ファイル(program.exeにします)を取得します。program.exeを実行すると、この実行可能ファイル自体が変数fooにスペースを割り当てるようにコマンドを実行します。しませんか?本が「コンパイラがこれを行う...そうする」と言い続ける理由を説明してください。
sizeof
質問は今すぐに位置してはsizeofコンパイル時にオペレータと呼ばれているのはなぜ?