我试图避免临时变量。但我无法弄清楚正确的语法:
typedef struct {
int n;
int *ptr;
} i_cant_change_this_typedef;
i_cant_change_this_typedef foo;
i_cant_change_this_typedef bar;
int main(void) {
foo.n = 123;
int tmp[] = {0x01,0x02,0x03};
foo.ptr = tmp;
bar.n = 321;
/* can this be done somehow? */
/* bar.ptr = {0x03,0x02,0x01};*/
}
Run Code Online (Sandbox Code Playgroud)
必须制作中间 tmp 变量让我很烦恼。底部的注释行应该显示我正在尝试做什么。
能不能做,怎么做?
是的,我在这里使用的是常规的 gcc/g++。
更新:我知道我应该提到我更喜欢在 C 和 C++ 中同样有效的解决方案。它将用于应避免过于复杂的动态分配的嵌入式解决方案中。