質問: Cをほぼ触ったことないので質問します。
回答: 1int *hoge;でhogeの名前の付いたアドレスエリアが確保されるだけです。hogeの指しているアドレスに対しては何も操作は行われません,=NULLとする事で初期値NULL(\0)がhogeに設定されます。2関数のプログラムの部分は起動と同時にメモリに読み込まれますが、関数内で使うローカル変数は関数呼び出し時にメモリーに確保されます。3基本的にはプログラムは起動と同時に全てをメモリに読み込みます、ただし、最近のOSは仮想メモリ方式ですので、実メモリーでは無く仮想メモリー(実メモリーとHDD)に読み込まれます。