プログラム(機械語)おかれる場所。
半固定データ。
関数作業領域(スタック領域)
プログラム(機械語)おかれる場所と半固定データはオフセット値の低い場所からおかれる
スタック領域は高位番地から置かれる
プログラム(機械語)の実行中の位置を示す。IPはCPUにある。
ある関数から、関数呼び出すと、スタック領域に高位のアドレスから
下位のアドレスに呼び出された関数の作業領域が積まれていく。
スタックポインタは作業領域の終端を示す。
スタックポイントより低位は未使用領域。
スタックポインタはCPUが保持している。
呼び出された関数から呼び出し元の関数へ処理が戻ると、
SPが呼び出し元の関数へ移行し、
呼び出された関数のスタック領域は開放される。
#include参考文献int main() { int i; i = 0; /* ポインタの表示 */ printf( "\nアドレスは:\t%p\n", &i); main(); return 0; } アドレスは: 00033A7C アドレスは: 00033A24 アドレスは: 000339CC アドレスは: 00033974 アドレスは: 0003391C アドレスは: 000338C4 アドレスは: 0003386C アドレスは: 00033814 アドレスは: 000337BC アドレスは: 00033764 アドレスは: 0003370C アドレスは: 000336B4
C言語入門
ISBN4-7916-0830-5