小编Xee*_*hem的帖子

为什么我不能对C中的malloced结构使用部分结构初始化

在C99中,您可以通过这种方式简单地初始化静态分配的结构

struct sometype {
   int a;
   double b;
};
sometype a = {
   .a = 0;
};
Run Code Online (Sandbox Code Playgroud)

好吧,这不适用于像这样的堆上的结构.

struct sometype *a = malloc(sizeof(struct sometype));
*a = {
   .a = 0;
 };
Run Code Online (Sandbox Code Playgroud)

使用GCC 4.9.2,编译器抱怨

error: expected expression before '{' token
Run Code Online (Sandbox Code Playgroud)

我知道这很愚蠢,但是有什么语法或技术原因我不能这样做吗?

c struct alloc

1
推荐指数
1
解决办法
155
查看次数

标签 统计

alloc ×1

c ×1

struct ×1