结构体名后面有个“=”是什么意思?

问题描述:

请教下下面代码fops后面那个“=”是什么意思?

 static const struct file_operations mem_fops =
{
  .llseek = mem_llseek,
  .read = mem_read,
  .write = mem_write,
  .open = mem_open,
  .release = mem_release,
};

应该是声明一个结构体对象

这应该不是C语言。

初始化结构体,跟int i = 0;是一个意思

初始化结构体,给结构体预先赋一些值

静态常量直接定义初始化。然后点号语法,C99的新语法。

具体看这里:

http://stackoverflow.com/questions/694706/defining-static-const-structs

这应该是定义和赋值吧,定义的时候直接初始化

初始化结构的时候现在可以这样写:
struct {int a[3], b;} hehe[] = { [0].a = {1}, [1].a = 2 };
struct {int a, b, c, d;} hehe = { .a = 1, .c = 3, 4, .b = 5} // 3,4 是对 .c,.d 赋值的
字符串里面,\u 支持 unicode 的字符

与时俱进的写法

这是初始化赋值的写法
通过 .成员变量=xxxx 的方式可以不用按照结构体定义成员变量的顺序赋值