文档章节

OC学习笔记八 enum struct

卧龙小
 卧龙小
发布于 2014/09/29 23:59
字数 401
阅读 43
收藏 0

一.enum 枚举值

对于可以列举值的变量,可以用枚举值。比如性别,包含男女;星期 从一到星期天。

enum 定义格式:

typedef enum
{
    enum1,
    enum2=value,//value为整数类型
    enum3
}enum_name;


注意:

1.枚举通过内部成员名赋值为整型值

2.在缺省值的时候,枚举从零开始,即enum1=1,enum2=2 以此类推

3.如果某个成员名赋值,则下个成员标识符比前面一个的值大1.

typedef enum
{
    enum1,
    enum2=7,
    enum3,
    enum4='b',
    enum5
    
}ITest;

//通过成员变量名可以直接访问
NSLog(@"enum1=%d,enum2=%d,enum3=%d,enum4=%d,enum5=%d",enum1,enum2,enum3,enum4,enum5);

//输出结果
enum1=0,enum2=7,enum3=8,enum4=98,enum5=99


二.struct 结构体

结构体是一系列的成员变量组合在一起,有点类似于类的概念,在结构体中,每个变量都依次存储。

结构体的定义:

typedef struct
{
    数据类型 变量名1;
    数据类型 变量名2;
    数据类型 变量名3;//注意用“;”号    
}myStruct

注意:

结构体如果初始化后不能一次性赋值

typedef struct
{
    int year;
    int mouth;
    int day;
}myDate;

@interface TestStruct:NSObject
{
    @public
    myDate _myDate;
}
@end

@implementation TestStruct
@end

int main(int argc, const char * argv[])
{

    @autoreleasepool {
        
        TestStruct t = [TestStruct new];
        /*
        在new创建的想的过程总,会初始化成员变量
        myDate作为成员变量,再初始化struct后就不能一次性赋值
        */
        //t->_myDate={2011,9,3};//抛异常 expected expression
        
        //通过这种方式赋值,较快捷
        myDate dd ={2011,9,3};
        t->_myDate=dd;
         
        NSLog(@"year = %d , mouth = %d , day = %d",
        p->_myDate.year,
        p->_myDate.mouth,
        p->_myDate.day
        );
    }
    return 0;
}





© 著作权归作者所有

共有 人打赏支持
卧龙小
粉丝 42
博文 146
码字总数 70107
作品 0
西城
程序员
私信 提问
【swift 关键词】让我们牢记swift中的一些关键字用途

好记性不如烂笔头 学习swift 原英文版本 学习swift 翻译中文版 swift数据类型与oc比较 进入 退出swift 第一个关键字guard inout unowned lazy willSet didSet get set mutating Subscripts C...

创意总监
2016/05/25
82
0
初探swift语言的学习笔记七(swift 的关健词)

初探swift语言的学习笔记七(swift 的关健词) 原文地址:http://blog.csdn.net/fengsh998/article/details/32133809 转载请注明出处 每一种语言都有相应的关键词,每个关键词都有他独特的作用...

法斗斗
2016/03/03
16
0
RxSwift之路 1#Swift语法知识准备

在开始学习 RxSwift 之前,一定要对 Swift 相关语法有所了解,否则就很难理解为什么可以这样。关于 Swift 的学习其实只要看看 Swift 的官方文档就可够了。我之前也列过一些学习资源:来自一线...

没故事的卓同学
2017/07/11
0
0
swift4.1 学习回顾(9--16)

上一篇中,回顾了一到八节的内容,以及主要的知识点。本次学习做的不太好的一点就是没有及时的回顾,总是在不停的学习新知识,以至于前面的知识遗忘的比较多。现在回顾有一点亡羊补牢的感觉。...

小曼Study
11/12
0
0
初学objective-c之读书笔记(一)

基本语法: static定义在全局变量上时会改变其作用域,对应所在的局部范围。extern类似php中的global。 结构体struct定义了一个多维kv数组,枚举类型enum检测数据范围,两者通过typedef可封装...

_EKC
2012/11/01
0
2

没有更多内容

加载失败,请刷新页面

加载更多

区块链安全 - 以太坊短地址攻击

1 基础知识 EVM虚拟机在解析合约的字节码时,依赖的是ABI的定义,从而去识别各个字段位于字节码的什么地方。关于ABI,可以阅读这个文档: https://github.com/ethereum/wiki/wiki/Ethereum-C...

HiBlock
10分钟前
0
0
自定义函数及内部函数

变量的作用域 局部变量 global $Global及其他超全局数组 静态变量 仅初始化赋值 保留于内存直到response才销毁 global和static变量的区别 global:局部变量全局话 static:定义静态局部变量 函...

关元
11分钟前
0
0

中国龙-扬科
24分钟前
1
0
python包

https://www.lfd.uci.edu/~gohlke/pythonlibs/

陆朋
34分钟前
1
0
一文弄懂“分布式锁”,一直以来你的选择依据正确吗?

本文主要会关注的问题是“分布式锁”的问题。 多线程情况下对共享资源的操作需要加锁,避免数据被写乱,在分布式系统中,这个问题也是存在的,此时就需要一个分布式锁服务。 常见的分布式锁实...

Java干货分享
41分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部