static struct file_operations memory_fops = {
open: memory_open, /* just a selector for the real open */
};
Run Code Online (Sandbox Code Playgroud)
这是来自uclinux中的mem.c文件
这是GNU风格的初始化语法; 该open成员初始化为memory_open,其余部分未初始化.C99使用不同的语法(.open = memory_open).
在 C 中,从一开始就允许在大括号内的初始值设定项中使用可选的尾随逗号。它在那里,以便您可以在初始化程序中使用统一的逗号放置,例如
struct SomeStructType s = {
value1,
value2,
value3,
};
Run Code Online (Sandbox Code Playgroud)
例如,如果需要,可以更轻松地重新排列列表中的初始值设定项。是否要使用它是个人喜好的问题。
至于:语法,正如@geekosaur 已经解释的那样,它是 GCC 特定的扩展。相应的功能在 C99 中使用不同的语法进行了标准化。