基本的に、SDLでプログラムを書いています。
これはコードの一部です:
// create game window
game.window = SDL_CreateWindow(
"Game",
SDL_WINDOWPOS_UNDEFINED,
SDL_WINDOWPOS_UNDEFINED,
160,
144,
0
);
if (game.window == NULL)
{
fprintf(stderr, "Window error: %s\n", SDL_GetError());
return 1;
}
atexit(SDL_DestroyWindow());
atexit(SDL_Quit());
return 0;
}
私の質問は次のとおりです。(game.window == NULL)
C の手続き型の性質を考慮すると、ケースとreturn 1
実行の場合はどうなりますか。プログラムは、このステートメントの後に続く関数をreturn 1
呼び出さずに終了しますか?atexit()
if
プログラムは、ステートメントの の後に関数があるにもかかわらず、両方とも関数内にあるSDL_DestroyWindow()
とを呼び出しますか?SDL_Quit()
atexit()
atexit()
return 1
if (game.window == NULL)
私が理解している限り、C はコードを上から下に実行しatexit()
ますreturn 1
。