在浏览一些代码时,我遇到了这种初始化方法:
#include<stdio.h>
struct trial{
int x, y;
};
int main(){
int a[10] = {0,1, };//comma here
struct trial z = {1, };//comma here
return 0;
}
这个逗号运算符有什么意义?如果删除逗号运算符,我在初始化方法中没有发现任何差异。
答案 0 :(得分:3)
如果从脚本生成此类代码,则有意义。它使您的脚本简单。没有边缘情况。特别是,在编写一个项目之前,您是否需要先添加,
,这一点很麻烦;你只需写一个项目后跟一个逗号,你就完成了!
您不关心第一项或最后一项。如果有逗号,则所有项目相同。
从代码生成的角度思考。它会开始有意义。
请参阅生成此类代码的python脚本:
print ("int a[] = {")
for item in items:
print (item + ",")
print ("};")
很简单。现在尝试编写代码而不用逗号。它不会 简单。
该标准还允许在枚举定义中使用尾随逗号:
enum A
{
X,
Y,
Z, //last item : comman is okay
};
希望有所帮助。