Uhm, why'd LazyFoo decide to assign NULL and then not perform any subsequent stuff with it other than just.. assign it what you could've assigned it in the first instance?
just giving it an initial value, which is good practice. You don't need to do this though, you could do it all in one go - `SDL_Window* window = SDL_CreateWindow(...);`