//
// main.m
// 结构体作为属性
//
// Created by mac on 16/5/10.
// Copyright © 2016年 rimi. All rights reserved.
//
#import <Foundation/Foundation.h>
/*
浅拷贝:浅拷贝只是增加了一个指针指向已经存在的内存。占用的同一个内存
深拷贝:深拷贝是增加一个指针并且申请一个新的内存,使这个增加的指针指向这个新的内存,采用深拷贝的情况下,占用的是两个不同的内存
结构体:最好是在初始化的时候赋值,如果是在后边再赋值,会报错,这是因为它无法识别复制内容为数组还是结构体。
*/
typedef struct {
int year;
int month;
int day;
}Brithday;
@interface Person:NSObject
{
Brithday _brithday;
NSString *_name;
}
-(void)say;
@end
@implementation Person
-(void)say
{
NSLog(@"%@的生日是%d.%d.%d",_name,_brithday.year,_brithday.month,_brithday.day);
//定义的结构体如果是指针,访问成员时就用->
//如果定义的是结构体变量,访问成员时就用.
}
@end
int main(int argc, const char * argv[]) {
@autoreleasepool {
// insert code here...
//NSLog(@"Hello, World!");
Person *person = [Person new];
[person say];
}
return 0;
}
结构体作为属性
最新推荐文章于 2024-08-15 22:08:57 发布