Object C学习笔记20-结构体

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

  在学习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

 

相关文章
|
前端开发
前端学习笔记202306学习笔记第四十天-Es6-object.assign的使用1
前端学习笔记202306学习笔记第四十天-Es6-object.assign的使用1
51 0
前端学习笔记202306学习笔记第四十天-Es6-object.assign的使用1
|
前端开发
前端学习笔记202306学习笔记第四十天-Es6-object.assign的使用2
前端学习笔记202306学习笔记第四十天-Es6-object.assign的使用2
47 0
|
前端开发
前端学习笔记202306学习笔记第四十一天-Es6-object.defineProperty监听属性的访问和设置1
前端学习笔记202306学习笔记第四十一天-Es6-object.defineProperty监听属性的访问和设置1
45 0
|
前端开发
前端学习笔记202306学习笔记第四十一天-Es6-object.defineProperty监听属性的访问和设置3
前端学习笔记202306学习笔记第四十一天-Es6-object.defineProperty监听属性的访问和设置3
50 0
|
前端开发
前端学习笔记202306学习笔记第四十天-Es6-object.assign的使用4深度拷贝
前端学习笔记202306学习笔记第四十天-Es6-object.assign的使用4深度拷贝
39 0
|
前端开发
前端学习笔记202306学习笔记第四十天-Es6-object.assign的使用3
前端学习笔记202306学习笔记第四十天-Es6-object.assign的使用3
38 0
|
前端开发
前端学习笔记202306学习笔记第四十天-Es6-object.assign的注意细节
前端学习笔记202306学习笔记第四十天-Es6-object.assign的注意细节
44 0
|
前端开发
前端学习笔记202306学习笔记第四十一天-Es6-object.defineProperty监听属性的访问和设置4
前端学习笔记202306学习笔记第四十一天-Es6-object.defineProperty监听属性的访问和设置4
42 0
|
前端开发
前端学习笔记202306学习笔记第四十一天-Es6-object.defineProperty监听属性的访问和设置2
前端学习笔记202306学习笔记第四十一天-Es6-object.defineProperty监听属性的访问和设置2
46 0
java202303java学习笔记第二十五天-object之3
java202303java学习笔记第二十五天-object之3
35 0
java202303java学习笔记第二十五天-object之3
下一篇
无影云桌面