如果我要在适当的位置定义一个静态分配的结构,我会这样做: struct mystructure x = {3, 'a', 0.3}; 有没有一种方法可以在 C 中使用 malloc 来做同样的事情。当然,我可以做一个 struct mystructure x = createNewMystruct(3, 'a', 0.3), (我将在其中定义 createNewMyStruct 函数)但我想知道是否还有其他可能的方法。
谢谢。
最佳答案
我能想到的最接近的是:
struct mystructure *p = malloc(sizeof(*p));
assert(p);
*p = (const struct mystructure){3, 'a', 0.3};
仅限 C99,所以如果它在 MSVC 中不起作用,请不要来找我。
关于c - 在C中动态分配结构的就地定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4144999/