![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
结构体的赋值方法,两个结构体变量间的相互赋值
typedefstruct{intord;postypeseat;intdi;}Elemtype;postypecurpos;Elemtypee;e={1,curpos,...
typedef struct{
int ord;
postype seat;
int di;
}Elemtype;
postype curpos;
Elemtype e; e={1,curpos,1};这样为什么运行不了 展开
int ord;
postype seat;
int di;
}Elemtype;
postype curpos;
Elemtype e; e={1,curpos,1};这样为什么运行不了 展开
5个回答
2015-08-05 · 知道合伙人数码行家
![](https://himg.bdimg.com/sys/portrait/item/public.1.79f05348.k2Z6eWZyiQKj2qkX-UAENQ.jpg)
知道合伙人数码行家
采纳数:25898
获赞数:1464927
2010年毕业于北京化工大学北方学院计算机科学与技术专业毕业,学士学位,工程电子技术行业4年从业经验。
向TA提问 私信TA
关注
![](https://wyw-base.cdn.bcebos.com/pc-content/follow.gif)
展开全部
结构体变量和普通变量因为类型不同,所以不能相互赋值。
比如
struct node
{int ele;
char name;
};
node a,b;
int e;
char n;
a=b,a.ele=e,b.name=n;正确,同类型赋值
ele=e,name=n;错误,必须指明是哪一个变量的成员比如a.ele=e,b.name=n;
比如
struct node
{int ele;
char name;
};
node a,b;
int e;
char n;
a=b,a.ele=e,b.name=n;正确,同类型赋值
ele=e,name=n;错误,必须指明是哪一个变量的成员比如a.ele=e,b.name=n;
展开全部
可以这样
lemtype e={1,curpos,1}; //这是定义e并为其初始化
不能这样
lemtype e; e={1,curpos,1}; //这是为e赋值,而赋值运算符右端必须是与左端变量类型相容的表达式
lemtype e={1,curpos,1}; //这是定义e并为其初始化
不能这样
lemtype e; e={1,curpos,1}; //这是为e赋值,而赋值运算符右端必须是与左端变量类型相容的表达式
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
e={1,curpos,1};哪有这么赋值的,就算是数组也只是初始化是这样,其它时候不能这样,结构体数据赋值,可以这样e.ord=1;的方式赋值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不允许那样初始化
仅能在定义的同时初始化,结构体和数组
仅能在定义的同时初始化,结构体和数组
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-12-10
展开全部
typedef struct{
int ord;
postype seat;
int di;
}Elemtype;
postype curpos;
Elemtype e ={1,curpos,1};
这样就行了吧,你试下
int ord;
postype seat;
int di;
}Elemtype;
postype curpos;
Elemtype e ={1,curpos,1};
这样就行了吧,你试下
追问
那种方法我用过,还是运行错误,改成这样就没错误,但是我不喜欢这这种方法,有没有精简的
e.ord=curstep;
e.seat=curpos;
e.di=1;
追答
没有了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询