おそらくととても初歩的な質問になります。
まず以下のようなプログラムを組みました。(「・・・」は省略部分です。)
int WINAPI WinMain(・・・)
{
while(ProcessMessage() == 0)
{
Title();
} //1つめwhile
DxLib_End() ;
return 0 ;
}
void Title(void)
{
while(ProcessMessage()==0)
{
・
・
・
if(CheckHitKey( KEY_INPUT_RETURN ) == 1)
{
Story();
break;
}
}
}
void Story(void)
{
while( ProcessMessage() == 0)
{
・
・
・
} //2つめwhile
}
以上です。
私としてはこのプログラムに、以下のような挙動を求めています。
まず始めに WinmainからTitle() を実行してもらいそのTitle()の中のwhile文でループ → エンターキーを押すと、Story()関数に入り、Title()関数から抜け出す。
ですがここで疑問が生じました。
「Title()の中でStory()を呼び出してStoryの中のWhile文でループしている間、Title()関数はまだ存続しているのか?」と。
プログラムは上から順番に実行されていると学んだので、エンターを押してStory()が呼び出されてStory()の中のWhileに入ってしまうと、Story();の記述の下の break; が実行されていないままだと思います。(伝わりづらかったらすみません)
Title関数がしっかり完結しないままStory関数になっているのかなあと思い、これが何重にも重なってくるとプログラムが重くなったりしないのかなあと不安に思いました。
以上が質問になります。よろしくお願いします。