我很好奇是否有一种方法可以合并两个结构字段而不必显式检查每个字段?
typedef struct NSPoint {
int x;
int y;
int z;
} NSPoint;
NSPoint point1 = { .x = 5, .y = 4, .z = 3};
// Somewhere down the code
NSPoint point2 = { .x = 10 };
// Merge so it ends with:
// { .x = 10, .y = 4, z = 3};
NSPoint point3 = point1 + point2;
最佳答案
不,这是不可能的。
一旦你意识到这一点:
NSPoint point2 = { .x = 10 };
在语义上与此相同:
NSPoint point2 = { .x = 10, .y = 0, .z = 0 };
你就会明白为什么。
关于c - 如何在C中合并结构体字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35641511/