c语言struct

static struct {
    int32_t width;
    int32_t height;
    int32_t preFullscreenWidth;
    int32_t preFullscreenHeight;
    bool fullscreen;
    bool mouseHovering;
} windowState = {
    .preFullscreenWidth = SPACE_SHOOTER_DEFAULT_WINDOWED_WIDTH,
    .preFullscreenHeight = SPACE_SHOOTER_DEFAULT_WINDOWED_HEIGHT,
    .fullscreen = true,
    .mouseHovering = false
};

这段代码定义了一个静态的匿名结构体,并创建了一个名为windowState的结构体变量并初始化。该结构体有6个成员变量:widthheightpreFullscreenWidthpreFullscreenHeightfullscreenmouseHovering

在结构体变量windowState的初始化过程中,使用了C语言中特有的成员初始化器语法(Member Initializer Syntax)。通过这种语法,可以直接对结构体中的某些成员进行初始化。例如,在本例子中,使用.preFullscreenWidth = SPACE_SHOOTER_DEFAULT_WINDOWED_WIDTH来初始化结构体中的preFullscreenWidth成员变量,将其赋值为SPACE_SHOOTER_DEFAULT_WINDOWED_WIDTH。同样地,其他成员变量也都被初始化了。

需要注意的是,在这个例子中,静态结构体和静态变量都被定义在了同一个作用域内,因此windowState变量在定义时使用了关键字static来限制它的可见性范围。这意味着,windowState只能在当前文件中访问,并且不会被其他文件所共享。

你可能感兴趣的:(C/C++,c语言,c++,开发语言)