Object C学习笔记20-结构体
在学习Object C中的过程中,关于struct的资料貌似非常少,查阅了C方面的资料总结了一些学习心得!
一. 定义结构
结构体是一种数据类型的组合和数据抽象。结构体的定义语法如下:
struct 结构体名称
{
类型 变量名;
类型 变量名;
}
实例代码如下:
struct student {
char* name;
enum sex sex;
int age;
};
结构体的定义
上面代码定义了一个结构体student,其中有三个变量name,sex,age ,其中sex是一个枚举。student是一个标识符,也称为tag.
二. 定义结构变量
结构变量定义代码如下:
struct student {
char* name;
enum sex sex;
int age;
}stu1,stu2;
定义结构变量
以上定义了两个student类型的结构变量stu1,stu2;
或者使用如下方式定义变量
struct student a={"aaa",};
struct student b={"cccc",};
三. 如何在类中使用结构
先定义一个类Person,其中有两个属性为枚举和结构体
enum sex{
male=,
female=
}; struct student {
char* name;
int age;
}; #import <Foundation/Foundation.h> @interface Person : NSObject{
enum sex sex;
struct student stu;
} @property (nonatomic,assign) enum sex sex;
@property (nonatomic,assign) struct student stu; -(void) write; @end --------------------------------------------------------- #import "Person.h" @implementation Person @synthesize sex;
@synthesize stu; -(void) write{
NSLog(@"%d",sex); NSLog(@"%d",stu.age); NSLog(@"%s",stu.name);
} @end
定义类
测试代码如下
Person *person=[[Person alloc] init];
enum sex sex=female;
struct student stu={"cnblogs",};
person.sex=sex;
person.stu=stu; [person write];
测试代码
输出结果如下
-- ::10.112 ObjectEnum[:]
-- ::10.115 ObjectEnum[:]
-- ::10.116 ObjectEnum[:] cnblogs
Object C学习笔记20-结构体的更多相关文章
- C#学习笔记之结构体
1.概述 结构是一种与类相似的数据类型,不过它较类更为轻量,一般适用于表示类似Point.Rectangle.Color的对象.基本上结构能办到的类全都能办到,但在某些情况下使用结构更为合适,后面会有 ...
- Object C学习笔记20-结构体(转)
在学习Object C中的过程中,关于struct的资料貌似非常少,查阅了C方面的资料总结了一些学习心得! 一. 定义结构 结构体是一种数据类型的组合和数据抽象.结构体的定义语法如下: struct ...
- contiki学习笔记---process结构体
process,字面意义,进程,看看它的结构 struct process { struct process *next; #if PROCESS_CONF_NO_PROCESS_NAMES #def ...
- 《PHP7底层设计与源码实现》学习笔记2——结构体对齐
书里给了一段代码,假如有个结构体如下: struct test { char a; int b; long c; void* d; int e; cha ...
- c语言学习笔记之结构体存储
今天讲讲结构体存储问题 首先,结构体简单说是对不同类型的封装,一开始我们可能会想结构体在内存中的存储的大小是直接元素的和 例如 我们可能会觉得是 结构体大小=int(4个字节)+ short(2个字节 ...
- C语言学习笔记--枚举&结构体
枚举 枚举是一种用户定义的数据类型,它用关键字enum以如下语法格式来声明: enum 枚举类型名字 {名字0,名字1,...,名字n}: 枚举类型名字通常并不真的使用,要用的是大括号里面的名字,因为 ...
- 【C#学习笔记】结构体使用
using System; namespace ConsoleApplication { struct _st { public string name; public int age; } clas ...
- Object C学习笔记21-typedef用法
在上一章的学习过程中遇到了一个关键字typedef,这个关键字是C语言中的关键字,因为Object C是C的扩展同样也是支持typedef的. 一. 基本作用 typedef是C中的关键字,它的主要作 ...
- Object C学习笔记24-关键字总结
学习Object C也有段时间了,学习的过程中涉及到了很多Object C中的关键字,本文总结一下所涉及到的关键字以及基本语法. 1. #import #import <> 从syste ...
随机推荐
- 图解SQL的inner join、left join、right join、full outer join、union、union all的区别
转自:http://blog.csdn.net/jz20110918/article/details/41806611 假设我们有两张表.Table A 是左边的表.Table B 是右边的表.其各有 ...
- 虚拟机centos6.5 --设置静态ip
编辑网卡文件,vi /etc/sysconfig/network-scripts/ifcfg-eth0修改以下内容: ONBOOT=no #改为yes, BOOTPROTO=dbcp #改为stati ...
- hdu 2874 Connections between cities [LCA] (lca->rmq)
Connections between cities Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (J ...
- puppet学习笔记(一)
之前搞了一个月zabbix,基本上是能熟练使用了,不过在后来部署的时候发现这玩意在部署的时候机子少还行,机子多了手动安装手会残的.第一反应是用puppet,后来师父直接用puppet搞定了.索性自己也 ...
- dw websites
http://www.kimballgroup.com/data-warehouse-business-intelligence-resources/kimball-techniques/dimens ...
- uva 839 Not so Mobile-S.B.S.
Before being an ubiquous communications gadget, a mobilewas just a structure made of strings and wir ...
- IT技术团队管理-总结
摘要:此文是书籍<行之有效:IT技术团队管理之道>的读书笔记. 主要是方便自己回顾. 您也可以通过此文简要了解此书的内容. 博客: http://www.cnblogs.com/jhzhu ...
- [ubuntu]中文用户目录路径改英文
ubuntu中文版home文件夹里用目录的"桌面"."图片"."视频"虽然对于中文使用者看起来舒适直观,但是对于bash使用来说简直是障碍. ...
- python中property干什么用的?
先来段官方文档压压惊.. property(fget=None, fset=None, fdel=None, doc=None) Return a property attribute. fget i ...
- 用CSS3实现上下左右箭头
225deg 向上箭头 135deg向下箭头45deg向右箭头 -45deg向左箭头