我是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;
}
答案 0 :(得分:8)
不直接,但C99具有复合文字
bill = (Person){120,34};
你甚至可以通过使用指定的初始化程序(如
)来使事情更具可读性bill = (Person){ .height = 120, .age = 34, };