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学习笔记23-继承,重写,重载


下一篇:ES高级查询