+ -
当前位置:首页 → 问答吧 → 问一个在Linux内核代码中经常出现的语法现象?

问一个在Linux内核代码中经常出现的语法现象?

时间:2011-10-21

来源:互联网



例如在文件系统的超级快结构中有一个这样的结构字段
struct super_operation * oper;

当针对具体的超级快进行注册是,常常会定义自己的操作函数。
下面是一个例子:

struct super_operation new_super
{
  .read=new_read;
  .write=new_write;
  // 更多的这样的语句
};

另外还有一种语法是下面这个样子的:
struct super_operation new_super
{
  read: new_read;
  write: new_write;
  // 更多的这样的语句
};


请问这两种语法什么意思?怎么在通用的C代码中看不到?
谢谢!

作者: luo6620378xu   发布时间: 2011-10-21

后面通用的C当中是有的,位字段。

前面可能是GCC的一个扩展,省略了结构字段。

作者: linwhwylb   发布时间: 2011-10-21

给结构体成员赋值

作者: jay8830095   发布时间: 2011-10-21

这是C99支持的给结构体成员赋值方式

作者: thefirstz   发布时间: 2011-10-21