黑马程序员技术交流社区

标题: 关于结构体的赋值 [打印本页]

作者: ydy96315    时间: 2015-4-27 10:20
标题: 关于结构体的赋值
其他代码就不贴上来了区了中间一段有疑问的
typedef struct {
    int year;
    int month;
    int day;
} Date;

Stu * s = [Stu new];
s->birthday={2000,10,10}; //为什么这样不可以

Date L  = {2000,10,10};
s->birthday=L;   //为什么这样就是正确的
作者: 许庭洲    时间: 2015-5-3 17:40
结构体对象指向了{2000,10,10},才能赋值给s->birthday,否则没有意义的。
作者: Theshy    时间: 2015-5-4 22:52
定义结构体变量的同时才能初始化
作者: 逆流瞅瞅    时间: 2015-5-4 23:56
可以看出 差别是第一段代码没有赋值给定义结构体数据类型,也就是说该{2000,10,10}对象没有定义数据类型。所以
作者: 逆流瞅瞅    时间: 2015-5-5 00:02
你定义类Stu的成员变量birthday时,该变量的数据类型肯定是Date类型,所以赋值时,要类型相对应才行。
作者: 13673696542    时间: 2015-5-5 11:58
你那种方法只有在定义结构体时才可以,定义完了就不能用这种方法啦,
作者: greatboygirl    时间: 2015-5-5 12:18
应该定义一个birthday 类型的变量 用{2000,10,10}将其赋值,然后再用变量初始化





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2