这是我尝试初始化结构体L时使用的代码:
typedef struct {
int data[20];
int length;
} SqList;
SqList L;
L = {
{1,2,3,4,5},
5
};
答案 0 :(得分:2)
您不是在初始化而是在分配,因为L
的声明和分配值是代码中的两个独立语句。
写
SqList L = {
{1,2,3,4,5},
5
};
它应该可以工作。
您以后可以覆盖此初始值,但是请注意,您需要随后分配一个SqList对象,并且该分配必须在函数的上下文中进行:
int main() {
L = (SqList){ {1,2,3,4,5}, 5 };
}