结构体作为对象的属性

来源:互联网 发布:mac yosemite10.11 编辑:程序博客网 时间:2024/06/06 21:01
typedef struct {    int year;    int month;    int day;} Date;@interface Student : NSObject{    @public    NSString *_name;    Date _birthday;}- (void)say;@end@implementation Student- (void)say{    NSLog(@"name = %@, year = %d, month = %d, day = %d", _name, _birthday.year, _birthday.month, _birthday.day);}@endint main(int argc, const char * argv[]) {    // 创建学生对象    // 1开辟存储空间, 2初始化属性, 3返回地址    Student *stu = [Student new];    // 2 设置学生对象的属性    stu->_name = @"lnj";    // 1.结构体只能定义的时候初始化    // 2. 系统并不清楚它是数组还是结构体    // 初始化结构体的属性    // 方法一: 强制转换    stu->_birthday = (Date){1986, 1, 15};    // 方法二: 定义一个新的结构体 给d赋值 将d赋值给_birtyday    Date d = {1986, 1, 15};    stu->_birthday = d;    // 方法三: 分别赋值    stu->_birthday.year = 1986;    stu->_birthday.month = 1;    stu->_birthday.day = 15;    // 3.让学生说出自己的姓名和生日    [stu say];    return 0;}
0 0
原创粉丝点击