c语言结构体初始化赋值

structstudent{charname[10];floatscort;intage;}stu1,*p;stu1={"ddd",66.0,55};这样的赋值为什么不可... struct student
{
char name[ 10 ];
float scort;
int age;
} stu1, *p;

stu1 = { "ddd", 66.0, 55 };
这样的赋值为什么不可以?是语法上就不行吗?
展开
 我来答
再其中人
2012-10-06
知道答主
回答量:18
采纳率:0%
帮助的人:10.7万
展开全部
初始化的时候stu1前面少了struct student(表示结构体类型),加上之后这样初始化就行了。
就相对整型初始化时,必须int x=。。。。,不能直接x=。。。。,事实上就是语法上的一个小细节错误。
88447821
2012-10-06 · TA获得超过1504个赞
知道小有建树答主
回答量:729
采纳率:100%
帮助的人:319万
展开全部
你好,结构体初始化赋值只能在定义的时候赋值。
student stu1 = { "ddd", 66.0, 55 }; 这种赋值是在编译时处理的。
stu1 = { "ddd", 66.0, 55 };模式实际是调用operator =赋值运算符函数,operator =的重载函数里是不支持这种赋值的。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lacsea50116
2012-10-06 · TA获得超过350个赞
知道小有建树答主
回答量:413
采纳率:0%
帮助的人:369万
展开全部
如果是C编译器,似乎需要struct stu1 = { "ddd", 66.0, 55 };但是c++里面不需要
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-10-06
展开全部
嗯,是的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式