“”作为struct中变量名的开头

时间:2012-02-28 08:23:40

标签: c

const struct file_operations generic_ro_fops = {
  .llseek         = generic_file_llseek,
  .read           = do_sync_read,
  .aio_read       = generic_file_aio_read,
  .mmap           = generic_file_readonly_mmap,
  .splice_read    = generic_file_splice_read,
  };

这段代码中的“。”是什么意思?

这是来自linux内核fs / read_write.c

FYI http://lxr.linux.no/linux+v3.2.8/fs/read_write.c

2 个答案:

答案 0 :(得分:5)

他们被称为“指定初始化者”。它是C99中引入的一个功能,由GNU C作为扩展提供(当然,你知道,Linux内核不是用C编写的,而是用GNU C编写的)。

这实际上是语法糖,并提供了一种方便的方法来初始化该结构的成员而不必担心它们的顺序。

答案 1 :(得分:3)

这是一个GCC功能,用于初始化结构中的特定字段。查看更多here