我有以下 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
最佳答案
使用复合文字:
data[3] = ( Point2D ){.x = a, .y = b};
关于c - 通过初始化程序设置结构数组元素的语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27168647/