gpt4 book ai didi

c - 点 (.) 在结构初始值设定项中是什么意思?

转载 作者:太空狗 更新时间:2023-10-29 16:14:45 24 4
gpt4 key购买 nike

static struct fuse_oprations hello_oper = {
.getattr = hello_getattr,
.readdir = hello_readdir,
.open = hello_open,
.read = hello_read,
};

我不太了解这个 C 语法。我什至无法搜索,因为我不知道语法的名称。那是什么?

最佳答案

这是一项 C99 功能,允许您在初始化程序中按名称设置结构的特定字段。在此之前,初始化程序只需要按顺序包含所有字段的值——当然,这仍然有效。

所以对于以下结构:

struct demo_s {
int first;
int second;
int third;
};

...你可以使用

struct demo_s demo = { 1, 2, 3 };

...或者:

struct demo_s demo = { .first = 1, .second = 2, .third = 3 };

...甚至:

struct demo_s demo = { .first = 1, .third = 3, .second = 2 };

...尽管最后两个仅适用于 C99。

关于c - 点 (.) 在结构初始值设定项中是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8047261/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com