title: Issue closing window with SDL2 in C
body: <p>I have this code that is setting up a window, along with the close button functionality.</p>
  <pre class="lang-c prettyprint-override"><code>#include &lt;stdio.h&gt;
  #include &lt;stdbool.h&gt;
  #include &lt;SDL2/SDL.h&gt;
  
  int initialize();
  void handle_input();
  
  typedef struct {
      SDL_Renderer *renderer;
      SDL_Window *window;
      bool running;
      int FPS;
      int width;
      int height;
      bool close_requested;
  } Game;
  
  Game game = {
    .running = true,
    .FPS = 60,
    .width = 600,
    .height = 600,
    .close_requested = false,
  };
  
  int main(int argc, char* argv[]) {
  
      initialize();
      handle_input();
  
      while(game.running) { //Game loop
          SDL_SetRenderDrawColor(game.renderer, 255, 0, 0, 255);
          SDL_RenderPresent(game.renderer);
          SDL_Delay(1000/game.FPS);
      } //End of game loop
  
      SDL_DestroyRenderer(game.renderer);
      SDL_DestroyWindow(game.window);
      SDL_Quit();
  
      return 0;
  }
  
  int initialize() {
  
      if (SDL_Init(SDL_INIT_VIDEO|SDL_INIT_TIMER) != 0) { //return 0 on success
          printf(&quot;error initializing SDL: %s\n&quot;, SDL_GetError());
          return 1;
      }
  
      SDL_Window* window = SDL_CreateWindow(&quot;Window&quot;, SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, game.width, game.height, 0); //creates window
      if (!window) {
          printf(&quot;error creating window: %s\n&quot;, SDL_GetError());
          SDL_Quit();
          return 1;
      }
  
      Uint32 render_flags = SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC; //creates a renderer
      game.renderer = SDL_CreateRenderer(window, -1, render_flags);
      if (!game.renderer) {
          printf(&quot;error creating renderer: %s\n&quot;, SDL_GetError());
          SDL_DestroyWindow(window);
          SDL_Quit();
          return 1;
      }
  }
  
  void handle_input() {
  
      SDL_Event event;
  
      while (!game.close_requested) { //close button
          while (SDL_PollEvent(&amp;event)) {
              if (event.type == SDL_QUIT) {
                  game.close_requested = true;
                  game.running = false;
              }
          }
      }
  }
  </code></pre>
  <p>However, whenever I try to run this program, the window won't even open and I'm getting 0 errors in the console, besides a warning that states <code>control may reach end of non-void function</code> at the <code>initialize()</code> function. What does that warning mean? What is going on with my code? What did I do wrong?</p>