oc11---结构体作为属性
2024-10-01 06:25:45
//
// main.m
// 结构体作为对象的属性 #import <Foundation/Foundation.h> typedef struct {
int year;
int month;
int day;
} Date; @interface Student : NSObject
{
@public
NSString *_name;
// struct Date birthday;
Date _birthday;
}
- (void)say;
@end
@implementation Student
- (void)say
{
NSLog(@"name = %@; year = %i, month = %i, day = %i", _name, _birthday.year, _birthday.month, _birthday.day);
}
@end int main(int argc, const char * argv[]) {
Student *stu = [Student new];//结构体里面的值都是0
stu->_name = @"lnj";
// 1.结构体只能在定义的时候初始化
// 2.系统并不清楚它是数组还是结构体 //初始化结构体属性
//方法一:强制转换
stu->_birthday = (Date){, , };//大括号有可能是数组, //方法二:定义一个新的结构体,给d赋值,将d赋值给_birthday
Date d = {, , };
stu->_birthday = d; //方法三:分别赋值
stu->_birthday.year = ;
stu->_birthday.month = ;
stu->_birthday.day = ; // 3.让学生说出自己的姓名和生日
[stu say]; Date d1 = {, , };
Date d2;
d2 = d1; // 本质是将d1所有的属性的值都拷贝了一份赋值给d;不是传递地址 d2.year = ;
printf("d1 = year = %i\n", d1.year);//
printf("d2 = year = %i\n", d2.year);//
return ;
}
最新文章
- Objective-C( Foundation框架 一 NSDictionary (NSMutaleDictionary))
- 非阻塞SOCKET套接字connect等待时间的实现
- APK Downgrade Method working fine on LINE latest version 6.7.1
- css3 进度条
- couchbase单向同步
- TCP之心跳包实现思路
- 4.PopupWindow
- Linux GDB调试全面解析
- JavaScript-日期格式化(一)
- rails中两种回滚-reversible和revert区别
- 【转】Mybatis Generator最完整配置详解
- 安卓activity之间值共享解决办法,tabhost之间共享父类值,字符串类型的转换,获取每一个listview的item
- Openjudge-计算概论(A)-字符串排序
- set 数据类型
- silverlight 基本信息学习随笔
- vue.runtime.esm.js:593 [Vue warn]: Invalid prop: custom validator check failed for prop ";value";.报错解决
- hystrix学习
- sip协议中文讲解
- Derek解读Bytom源码-P2P网络 upnp端口映射
- 解决loadrunner录制页面的乱码问题