为什么在初始化SDL之前先在SDL中声明一个指针?
Why declare a pointer in SDL before initializing SDL?
在这段代码中,我看到他们在初始化 SDL 之前声明了一个指针:
int main(int argc, char* argv[]) {
SDL_Window *window; // Declare a pointer
SDL_Init(SDL_INIT_VIDEO); // Initialize SDL2
// Create an application window with the following settings:
window = SDL_CreateWindow(
"An SDL2 window", // window title
SDL_WINDOWPOS_UNDEFINED, // initial x position
SDL_WINDOWPOS_UNDEFINED, // initial y position
640, // width, in pixels
480, // height, in pixels
SDL_WINDOW_OPENGL // flags - see below
);
(可以找到完整代码here)
在创建 window 之前声明指针会不会更有条理,这样它会更整洁、更有条理?为什么要提前申报?
如果我猜的话,最好将所有指针都放在一个区域中,这样您就可以一次看到所有指针。还是习惯就好了?
在int main()
开头声明指针的习惯。 (我在其他源程序中也看到过这种情况,来自示例程序)
没有技术原因需要在 SDL_Init 之前声明一个指针。声明一个指针变量没有任何意义,它只是在堆栈上为该指针保留 space。它可以很容易地在 SDL_Init 之后声明,或者作为调用 SDL_CreateWindow.
的语句的一部分
老实说,我不知道他们为什么在文档中这样说。
在这段代码中,我看到他们在初始化 SDL 之前声明了一个指针:
int main(int argc, char* argv[]) {
SDL_Window *window; // Declare a pointer
SDL_Init(SDL_INIT_VIDEO); // Initialize SDL2
// Create an application window with the following settings:
window = SDL_CreateWindow(
"An SDL2 window", // window title
SDL_WINDOWPOS_UNDEFINED, // initial x position
SDL_WINDOWPOS_UNDEFINED, // initial y position
640, // width, in pixels
480, // height, in pixels
SDL_WINDOW_OPENGL // flags - see below
);
(可以找到完整代码here)
在创建 window 之前声明指针会不会更有条理,这样它会更整洁、更有条理?为什么要提前申报?
如果我猜的话,最好将所有指针都放在一个区域中,这样您就可以一次看到所有指针。还是习惯就好了?
在int main()
开头声明指针的习惯。 (我在其他源程序中也看到过这种情况,来自示例程序)
没有技术原因需要在 SDL_Init 之前声明一个指针。声明一个指针变量没有任何意义,它只是在堆栈上为该指针保留 space。它可以很容易地在 SDL_Init 之后声明,或者作为调用 SDL_CreateWindow.
的语句的一部分老实说,我不知道他们为什么在文档中这样说。