逗号在数组和结构初始化中有什么意义?

时间:2013-08-10 09:18:02

标签: c++ c arrays structure

在浏览一些代码时,我遇到了这种初始化方法:

#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;
}

这个逗号运算符有什么意义?如果删除逗号运算符,我在初始化方法中没有发现任何差异。

1 个答案:

答案 0 :(得分:3)

如果从脚本生成此类代码,则有意义。它使您的脚本简单。没有边缘情况。特别是,在编写一个项目之前,您是否需要先添加,,这一点很麻烦;你只需写一个项目后跟一个逗号,你就完成了!

您不关心第一项或最后一项。如果有逗号,则所有项目相同

从代码生成的角度思考。它会开始有意义。

请参阅生成此类代码的python脚本:

print ("int a[] = {")
for item in items:
    print (item + ",")
print ("};")

很简单。现在尝试编写代码而不用逗号。它不会 简单。

该标准还允许在枚举定义中使用尾随逗号:

enum A
{
    X,
    Y,
    Z, //last item : comman is okay
};

希望有所帮助。