在学习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-结构体的更多相关文章

  1. C#学习笔记之结构体

    1.概述 结构是一种与类相似的数据类型,不过它较类更为轻量,一般适用于表示类似Point.Rectangle.Color的对象.基本上结构能办到的类全都能办到,但在某些情况下使用结构更为合适,后面会有 ...

  2. Object C学习笔记20-结构体(转)

    在学习Object C中的过程中,关于struct的资料貌似非常少,查阅了C方面的资料总结了一些学习心得! 一. 定义结构 结构体是一种数据类型的组合和数据抽象.结构体的定义语法如下: struct ...

  3. contiki学习笔记---process结构体

    process,字面意义,进程,看看它的结构 struct process { struct process *next; #if PROCESS_CONF_NO_PROCESS_NAMES #def ...

  4. 《PHP7底层设计与源码实现》学习笔记2——结构体对齐

    书里给了一段代码,假如有个结构体如下: struct test {     char a;     int b;     long c;     void* d;     int e;     cha ...

  5. c语言学习笔记之结构体存储

    今天讲讲结构体存储问题 首先,结构体简单说是对不同类型的封装,一开始我们可能会想结构体在内存中的存储的大小是直接元素的和 例如 我们可能会觉得是 结构体大小=int(4个字节)+ short(2个字节 ...

  6. C语言学习笔记--枚举&结构体

    枚举 枚举是一种用户定义的数据类型,它用关键字enum以如下语法格式来声明: enum 枚举类型名字 {名字0,名字1,...,名字n}: 枚举类型名字通常并不真的使用,要用的是大括号里面的名字,因为 ...

  7. 【C#学习笔记】结构体使用

    using System; namespace ConsoleApplication { struct _st { public string name; public int age; } clas ...

  8. Object C学习笔记21-typedef用法

    在上一章的学习过程中遇到了一个关键字typedef,这个关键字是C语言中的关键字,因为Object C是C的扩展同样也是支持typedef的. 一. 基本作用 typedef是C中的关键字,它的主要作 ...

  9. Object C学习笔记24-关键字总结

    学习Object C也有段时间了,学习的过程中涉及到了很多Object C中的关键字,本文总结一下所涉及到的关键字以及基本语法. 1.  #import #import <> 从syste ...

随机推荐

  1. 图解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 是右边的表.其各有 ...

  2. 虚拟机centos6.5 --设置静态ip

    编辑网卡文件,vi /etc/sysconfig/network-scripts/ifcfg-eth0修改以下内容: ONBOOT=no #改为yes, BOOTPROTO=dbcp #改为stati ...

  3. hdu 2874 Connections between cities [LCA] (lca->rmq)

    Connections between cities Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (J ...

  4. puppet学习笔记(一)

    之前搞了一个月zabbix,基本上是能熟练使用了,不过在后来部署的时候发现这玩意在部署的时候机子少还行,机子多了手动安装手会残的.第一反应是用puppet,后来师父直接用puppet搞定了.索性自己也 ...

  5. dw websites

    http://www.kimballgroup.com/data-warehouse-business-intelligence-resources/kimball-techniques/dimens ...

  6. uva 839 Not so Mobile-S.B.S.

    Before being an ubiquous communications gadget, a mobilewas just a structure made of strings and wir ...

  7. IT技术团队管理-总结

    摘要:此文是书籍<行之有效:IT技术团队管理之道>的读书笔记. 主要是方便自己回顾. 您也可以通过此文简要了解此书的内容. 博客: http://www.cnblogs.com/jhzhu ...

  8. [ubuntu]中文用户目录路径改英文

    ubuntu中文版home文件夹里用目录的"桌面"."图片"."视频"虽然对于中文使用者看起来舒适直观,但是对于bash使用来说简直是障碍. ...

  9. python中property干什么用的?

    先来段官方文档压压惊.. property(fget=None, fset=None, fdel=None, doc=None) Return a property attribute. fget i ...

  10. 用CSS3实现上下左右箭头

    225deg 向上箭头 135deg向下箭头45deg向右箭头 -45deg向左箭头