相关疑难解决方法(0)

使用标签进行C struct初始化.它有效,但如何?

昨天我发现了一些结构初始化代码,它让我循环.这是一个例子:

typedef struct { int first; int second; } TEST_STRUCT;
void testFunc() {
    TEST_STRUCT test = {
        second: 2,
        first:  1
    };
    printf("test.first=%d test.second=%d\n", test.first, test.second);
}
Run Code Online (Sandbox Code Playgroud)

令人惊讶的是(对我来说),这是输出:

-> testFunc
test.first=1 test.second=2
Run Code Online (Sandbox Code Playgroud)

如您所见,struct正确初始化.我不知道标签语句可以这样使用.我已经看到了其他几种进行结构初始化的方法,但我没有在任何在线C FAQ上找到任何这种结构初始化的例子.有人知道这是如何/为什么有效?

c label struct initialization

41
推荐指数
4
解决办法
4万
查看次数

什么是花括号的赋值?它可以控制吗?

这个叫什么?

Vec3 foo = {1,2,3};
Run Code Online (Sandbox Code Playgroud)

它可以通过操作员或某些人控制吗?我可以指出这应该如何行动?

例如,如果我有一些复杂的类,我可以使用它来分配变量吗?(只是好奇心练习).

c++

30
推荐指数
1
解决办法
1万
查看次数

标签 统计

c ×1

c++ ×1

initialization ×1

label ×1

struct ×1