1

基本的に、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 1if (game.window == NULL)

私が理解している限り、C はコードを上から下に実行しatexit()ますreturn 1

4

2 に答える 2