gcc warning:braces around scalar initializer [enabled by default]

char *usage[16] = {
    {"arguments"},
    {"ascii"},
    {"compact"},
    {"vt100"},
    {"highlight-all"},
    {"highlight-pid"},
    {"long"},
    {"numeric-sort"},
    {"show-pids"},
    {"show-pgids"},
    {"show-parents"},
    {"uid-changes"},
    {"unicode"},
    {"version"},
    {"security-context"},
    {"   "},  
};

int main(int argc, char **argv)
{
    return 0;
}

编译时报警告:

gcc -Wall    -c -o r-pstree.o r-pstree.c
r-pstree.c:13:2: warning: braces around scalar initializer [enabled by default]
  {"arguments"},
  ^
r-pstree.c:13:2: warning: (near initialization for ‘usage[0]’) [enabled by default]
r-pstree.c:14:2: warning: braces around scalar initializer [enabled by default]
  {"ascii"},
  ^
r-pstree.c:14:2: warning: (near initialization for ‘usage[1]’) [enabled by default]
r-pstree.c:15:2: warning: braces around scalar initializer [enabled by default]
  {"compact"},
  ^
r-pstree.c:15:2: warning: (near initialization for ‘usage[2]’) [enabled by default]
r-pstree.c:16:2: warning: braces around scalar initializer [enabled by default]
  {"vt100"},
  ^
r-pstree.c:16:2: warning: (near initialization for ‘usage[3]’) [enabled by default]
r-pstree.c:17:2: warning: braces around scalar initializer [enabled by default]
  {"highlight-all"},
  ^
r-pstree.c:17:2: warning: (near initialization for ‘usage[4]’) [enabled by default]
r-pstree.c:18:2: warning: braces around scalar initializer [enabled by default]
  {"highlight-pid"},
  ^
r-pstree.c:18:2: warning: (near initialization for ‘usage[5]’) [enabled by default]
r-pstree.c:19:2: warning: braces around scalar initializer [enabled by default]
  {"long"},
  ^
r-pstree.c:19:2: warning: (near initialization for ‘usage[6]’) [enabled by default]
r-pstree.c:20:2: warning: braces around scalar initializer [enabled by default]
  {"numeric-sort"},
  ^
r-pstree.c:20:2: warning: (near initialization for ‘usage[7]’) [enabled by default]
r-pstree.c:21:2: warning: braces around scalar initializer [enabled by default]
  {"show-pids"},
  ^
r-pstree.c:21:2: warning: (near initialization for ‘usage[8]’) [enabled by default]
r-pstree.c:22:2: warning: braces around scalar initializer [enabled by default]
  {"show-pgids"},
  ^
r-pstree.c:22:2: warning: (near initialization for ‘usage[9]’) [enabled by default]
r-pstree.c:23:2: warning: braces around scalar initializer [enabled by default]
  {"show-parents"},
  ^
r-pstree.c:23:2: warning: (near initialization for ‘usage[10]’) [enabled by default]
r-pstree.c:24:2: warning: braces around scalar initializer [enabled by default]
  {"uid-changes"},
  ^
r-pstree.c:24:2: warning: (near initialization for ‘usage[11]’) [enabled by default]
r-pstree.c:25:2: warning: braces around scalar initializer [enabled by default]
  {"unicode"},
  ^
r-pstree.c:25:2: warning: (near initialization for ‘usage[12]’) [enabled by default]
r-pstree.c:26:2: warning: braces around scalar initializer [enabled by default]
  {"version"},
  ^
r-pstree.c:26:2: warning: (near initialization for ‘usage[13]’) [enabled by default]
r-pstree.c:27:2: warning: braces around scalar initializer [enabled by default]
  {"security-context"},
  ^
r-pstree.c:27:2: warning: (near initialization for ‘usage[14]’) [enabled by default]
r-pstree.c:28:2: warning: braces around scalar initializer [enabled by default]
  {"   "},  

修改后:

char *usage[16] = {
    "arguments",
    "ascii",
    "compact",
    "vt100",
    "highlight-all",
    "highlight-pid",
    "long",
    "numeric-sort",
    "show-pids",
    "show-pgids",
    "show-parents",
    "uid-changes",
    "unicode",
    "version",
    "security-context",
    "   ",  
};

警告消除。

基本上,所有大括号都是可选的(外部大括号除外),但是,对于初始化器中不包含嵌套结构,将收到不同的警告。基本上,如果介意警告,请只在嵌套结构和数组周围加括号;如果没有,可以根据需要使用它们来提高可读性。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值