Behind the scenes, what's going on with the idea of assigning a variable that is a pointer to some structure and then invoking a function to that name? example for `window`:
In this case, SDL internally allocates an `SDL_Window` structure in the function, then returns to you its pointer (which you're expected to destroy using `SDL_DestroyWindow`)