Designated Initializers

在看Android的权限管理代码时候,看到一种初始化结构体的用法:

struct su_request {
    unsigned uid;
    char *command;
};

static struct su_request su_to = {
    .uid = AID_ROOT,
    .command = DEFAULT_COMMAND,
};

这个前面的“.”很重要,不过我记得以前用VC的时候,好像没有这种情况。网上一查才知道,原来这个叫:Designated Initializers,也翻译为:指派初始化

相关网站:http://gcc.gnu.org/onlinedocs/gcc/Designated-Inits.html

 

不过因为C99出的时间在VC6之前,所以老版的VC编辑器是不支持的,不过cygwin下面使用GCC命令可以支持指派初始化的写法,GCC里面已经支持C99了。

posted on 2013-10-09 12:12  堕落华为人  阅读(231)  评论(0编辑  收藏  举报

导航