首页 > 代码库 > C和指针 第十二章 结构体 整体赋值 error: expected expression
C和指针 第十二章 结构体 整体赋值 error: expected expression
定义结构体后整体赋值时发生错误
typedef struct NODE { struct NODE *fwd; struct NODE *bwd; int value;} Node;//声明变量Node first;first = {NULL, &second, 4};
错误: error: expected expression
之所以不行是,{}内容被当做语句块了,c语言允许直接对结构体初始化,或者在赋值的时候加上类型说明,或者是逐一赋值。
初始化赋值:
typedef struct NODE { int value} Node;//初始化赋值Node a = {1};Node b;b = a;
添加类型赋值:
Node A;A = (Node){NULL, NULL, 1};
单个赋值:
Node A;A.value = http://www.mamicode.com/1;>
所以,除非初始化或者强制类型转换否则,无法整体赋值结构体。
http://stackoverflow.com/questions/12189480/why-structs-cannot-be-assigned-directly
C和指针 第十二章 结构体 整体赋值 error: expected expression
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。