您的位置:首页 > 其它

结构体作为对象的属性

2016-05-28 12:58 225 查看
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);
}

@end

int 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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  结构