代码改变世界

Object C学习笔记20-结构体

2014-03-26 22:16  贺臣  阅读(2513)  评论(1编辑  收藏  举报

  在学习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",34};
struct student b={"cccc",45};

 

  三. 如何在类中使用结构

    先定义一个类Person,其中有两个属性为枚举和结构体

enum sex{
    male=0,
    female=1
};

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",12};
        person.sex=sex;
        person.stu=stu;
        
        [person write];
测试代码

    输出结果如下

2014-03-26 22:13:10.112 ObjectEnum[524:303] 1
2014-03-26 22:13:10.115 ObjectEnum[524:303] 12
2014-03-26 22:13:10.116 ObjectEnum[524:303] cnblogs

 


作者:情缘
出处:http://www.cnblogs.com/qingyuan/
关于作者:从事仓库,生产软件方面的开发,在项目管理以及企业经营方面寻求发展之路
版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。
联系方式: 个人QQ  821865130 ; 仓储技术QQ群 88718955,142050808 ;
吉特仓储管理系统 开源地址: https://github.com/hechenqingyuan/gitwms