c - 在 C 中重新分配结构

标签 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, };

关于c - 在 C 中重新分配结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10298070/

相关文章:

C - 将文件读取到双向链表出现段错误

c - 使用 fscanf 从文件中读取字符串后读取整数

c - 频率分析?凯撒密码C

困惑 : Dynamic Allocation of 2D array, C

c - 函数指针赋值

c - 无法显示消息

iphone - 寻找obj-c/c的语音命令代码/库

c - 指向 C 中指针数组的指针数组

c - 我怎样才能在c中的两个printf之间等待一秒钟?

c - 稀疏抛出的警告