结构体名后面有个“=”是什么意思?
问题描述:
请教下下面代码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 的方式可以不用按照结构体定义成员变量的顺序赋值