通过初始化程序设置结构数组元素的语法?

梦想家

我有以下C代码:

typedef struct {
    int x,y;
} Point2D;

Point2D data[5];

稍后在我的代码中(即不在的初始化期间data),我想根据x / y值设置数据的各个元素。两个语句代码很简单:

Point2D pt = {.x = a, .y = b};
data[3] = pt;

但是C中有没有办法在单个语句中做到这一点?以下两个想法似乎都不是有效的C99代码(对于GCC 4.8.2):

data[3] = {.x = a, .y = b};
data[3] = Point2D{.x = a, .y = b};
data[3] = Point2D(a,b); //C++-like syntax
2501

使用复合文字:

data[3] = ( Point2D ){.x = a, .y = b};

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章