查看linux内核源代码,我发现了这一点:
static struct tty_operations serial_ops = {
.open = tiny_open,
.close = tiny_close,
.write = tiny_write,
.write_room = tiny_write_room,
.set_termios = tiny_set_termios,
};
我在C语言中从未见过这样的表示法。
为什么变量名前面有一个点?
这是一个指定初始化程序 http://gcc.gnu.org/onlinedocs/gcc/Designated-Inits.html,这是为 C99 添加的语法。
相关摘录:
在结构初始值设定项中,指定要初始化的字段的名称
在元素值之前添加“.fieldname =”。例如,给定
以下结构,
struct point { int x, y; };
以下初始化
struct point p = { .y = yvalue, .x = xvalue };
相当于
struct point p = { xvalue, yvalue };
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)