static struct fuse_oprations hello_oper = {
.getattr = hello_getattr,
.readdir = hello_readdir,
.open = hello_open,
.read = hello_read,
};
我对这段 C 语法不太理解。我甚至无法搜索,因为我不知道这种语法的名称。那是什么?
static struct fuse_oprations hello_oper = {
.getattr = hello_getattr,
.readdir = hello_readdir,
.open = hello_open,
.read = hello_read,
};
我对这段 C 语法不太理解。我甚至无法搜索,因为我不知道这种语法的名称。那是什么?
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 };
struct demo_s demo = { .first = 1, .first = 9 };
在我的某个GCC上,这将编译而不会警告,并且first将是9。 - Renate这被称为“指定初始化”(参见指定初始化)。一个“初始化列表”,每个 '.
' 都是一个“指示器
”,在这种情况下,它命名了要为 'hello_oper
' 标识符指定的对象初始化的 'fuse_oprations
' 结构的特定成员。