在C中重新分配结构
我是C的新手,正在尝试使用结构。 在我创建了一个结构后,是否可以用大括号重新分配它?
typedef struct { int height; int age; } Person; int main (void) { Person bill = {100,35}; bill = {120,34}; // error: expected expression before '{' token bill = Person {120,34}; // error: expected expression before 'Person' return 0; }
不是直接的,但C99有复合文字
bill = (Person){120,34};
你甚至可以通过使用指定的初始化程序来做更可读的事情
bill = (Person){ .height = 120, .age = 34, };