designated initializer:一种特殊的结构体初始化方法
2009-07-15 22:27
218 查看
最近在看usb驱动的代码时,看到这么一段初始化代码
这种初始化结构体的方法以前没有见过。
这是C99标准里新加入的一种特殊的初始化方法,叫做指定初始化(designated initializer)。
以这种方式进行初始化可以不按照固定的顺序进行,例如:
struct point { int x, y; };
和下面的初始化,
struct point p = { .y = yvalue, .x = xvalue };
等价于:
struct point p = { xvalue, yvalue };
static struct usb_driver usb_storage_driver = { .name = "usb-storage", .probe = storage_probe, .disconnect = storage_disconnect, #ifdef CONFIG_PM .suspend = storage_suspend, .resume = storage_resume, .reset_resume = storage_reset_resume, #endif .pre_reset = storage_pre_reset, .post_reset = storage_post_reset, .id_table = storage_usb_ids, .soft_unbind = 1, };
这种初始化结构体的方法以前没有见过。
这是C99标准里新加入的一种特殊的初始化方法,叫做指定初始化(designated initializer)。
以这种方式进行初始化可以不按照固定的顺序进行,例如:
struct point { int x, y; };
和下面的初始化,
struct point p = { .y = yvalue, .x = xvalue };
等价于:
struct point p = { xvalue, yvalue };
相关文章推荐
- 从Linux的ext2文件系统源码学到一种初始化结构体的新方法
- 一种初始化结构体数组的方法
- Linux内核中结构体的特殊初始化方法
- E语言一种特殊的找按钮事件方法
- 结构体的定义及其初始化方法And typedef的使用-----------权当笔记了
- C++ 类中特殊的成员变量(常变量、引用、静态)的初始化方法
- 结构体初始化方法
- 总结几种结构体初始化方法
- Python中类的初始化特殊方法
- C++ 类中特殊的成员变量(常变量、引用、静态)的初始化方法
- golang中结构体的初始化方法(new方法)
- 免费邮箱登录接口代码(另添加一种特殊方法)
- 在C++中实现库动态初始化的一种方法
- C++ 类中特殊的成员变量(常变量、引用、静态)的初始化方法
- 结构体的三种初始化方法
- C++特殊成员变量(静态、常量、引用)的初始化方法
- C++ 类中特殊的成员变量(常变量、引用、静态)的初始化方法
- C++ 类中特殊的成员变量(常变量、引用、静态)的初始化方法
- C语言结构体初始化的三种方法
- C++ 类中特殊的成员变量(常变量、引用、静态)的初始化方法