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