//
// 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 ;
}

oc11---结构体作为属性的更多相关文章

  1. 5.Swift枚举|结构体|类|属性|方法|下标脚本|继承

    1. 枚举: ->在Swift中依然适用整数来标示枚举值,需搭配case关键字 enum  Celebrity{  case DongXie,XiDu,Nandi,BeiGai }  // 从左 ...

  2. Swift----函数 、 闭包 、 枚举 、 类和结构体 、 属性

    1 数组排序 1.1 问题 本案例实现一个整型数组排序的函数,数组排序的规则由传递的规则函数决定. 1.2 方案 首先定义一个整型数组排序函数sortInts,该函数有一个整型数组类型的参数,该参数必 ...

  3. C语言 结构体中属性的偏移量计算

    //计算结构体偏移量 #include<stdio.h> #include<stdlib.h> #include<string.h> //详解:对于offscfof ...

  4. Swift枚举|结构体|类|属性|方法|下标脚本|继承

    1. 枚举: ->在Swift中依然适用整数来标示枚举值,需搭配case关键字 enum  Celebrity{  case DongXie,XiDu,Nandi,BeiGai }  // 从左 ...

  5. matlab学习笔记12_3串联结构体,按属性创建含有元胞数组的结构体,filenames,isfield,isstruct,orderfields

    一起来学matlab-matlab学习笔记12 12_3 结构体 串联结构体,按属性创建含有元胞数组的结构体,filenames,isfield,isstruct,orderfields 觉得有用的话 ...

  6. matlab学习笔记12_2创建结构体数组,访问标量结构体,访问非标量结构体数组的属性,访问嵌套结构体中的数据,访问非标量结构体数组中多个元素的字段

    一起来学matlab-matlab学习笔记12 12_2 结构体 创建结构体数组,访问标量结构体,访问非标量结构体数组的属性,访问嵌套结构体中的数据,访问非标量结构体数组中多个元素的字段 觉得有用的话 ...

  7. swift 的枚举、结构体、类

    一.Swift的枚举 枚举是一系相关联的值定义的一个公共的组类型,同时能够让你在编程的时候在类型安全的情况下去使用这些值.Swift中的枚举比OC中的枚举强大得多, 因为Swift中的枚举是一等类型, ...

  8. Swift3.0P1 语法指南——类和结构体

    原档:https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programmi ...

  9. matlab struct结构体用法

    结构体的赋值: 结构体的赋值,这里不建议用下面这种形式进行统一赋值, s = sturct('field1',values1,'field2',values2,-) 而是建议直接赋值,就是对每一个属性 ...

  10. foundation框架—结构体

    Foundation框架—结构体 一.基本知识 Foundation—基础框架.框架中包含了很多开发中常用的数据类型,如结构体,枚举,类等,是其他ios框架的基础. 如果要想使用foundation框 ...

随机推荐

  1. 魅族和三星Galaxy 5.0webView 问题Android Crash Report - Native crash at /system/lib/libc.so caused by webvi

    解决办法是当前activity 销毁的时候 webView.destroy(); hine: ConnectedState (when=-2ms what= arg1=!CMD_RSSI_POLL : ...

  2. 【MFC】在MFC中PreTranslateMessage()的使用方法

    BOOL CSearchuserDlg::PreTranslateMessage(MSG* pMsg) { if (pMsg->message==WM_KEYDOWN) // 判断是否有按键按下 ...

  3. I2C controller core之Bit controller(03)

    FPGA proven, AISC proven, I2C controller core from OpenCores http://opencores.org/project,i2c Bit-co ...

  4. WebGL画点程序v1

    本文程序实现画一个点的任务,如下图.其中,点的位置直接给定("硬编码")在顶点着色器中. 整个程序包含两个文件,分别是: 1. HelloPoint1.html <!DOCT ...

  5. HDU_5833_高斯消元

    参考自:http://www.cnblogs.com/flipped/p/5771492.html 自己做的时候不知道如何求种数.看了题解,感觉思路灰常巧妙.同时也感觉这是一道好题. 精髓在于转化为线 ...

  6. In Swift, typedef is called typealias:

    It is used to create an alias name for another data type. The syntax of the typedef declaration is:[ ...

  7. sql server 查询时间 格式化输出

    use test select * from vote insert into vote (contents) values(GETDATE()) insert into vote (contents ...

  8. idea搭建第一个springboot

    1.打开idea开发工具,在菜单栏选择File-->New-->Project...-->Spring Initializer说明:社区版的idea是没有Spring Initial ...

  9. 【转载】使用 IntelliJ IDEA 新建一个 web项目

    IntelliJ IDEA 创建Web项目(全教程)   说明:IntelliJ IDEA 版本为14.JDK 版本为1.7tomcat 版本为apache-tomcat-7.0.70 注:在创建过程 ...

  10. MySQL常用增删改查等操作语句

    修改数据库的字符集    mysql>use mydb    mysql>alter database mydb character set utf8;创建数据库指定数据库的字符集    ...