OC 结构体
void test() {
// 这个机构只能在函数内部使用
// 定义一个名为Student的结构体类型
struct Student {
int age; // 年龄
char *name; // 姓名
float height; // 身高
};
// 定义一个结构体变量
struct Student stu = {, "mj", 1.8f};
// 下面这行的初始化是错误的
// stu = {27, "mj", 18.0f};
stu.age = ;
printf("age=%d\n", stu.age);
printf("name=%s\n", stu.name);
printf("height=%.1f\n", stu.height);
}
void test1() {
struct Student {
int age; // 年龄
char *name; // 姓名
float height; // 身高
} stu = {, "mj", 1.8f};
struct Student stu1 = {, "lmj", 1.9f};
struct {
int age; // 年龄
char *name; // 姓名
float height; // 身高
} stu2 = {, "mj", 1.8f};
struct {
int age; // 年龄
char *name; // 姓名
float height; // 身高
} stu3 = {, "mj", 1.8f};
}
void test2() {
// 定义一个Date结构体
struct Date {
int year;
int month;
int day;
};
// 定义一个学生结构体
struct Student {
int age;
struct Date birthday;
};
struct Student stu = {, {, , }};
printf("age=%d\n", stu.age);
printf("year=%d\n", stu.birthday.year);
printf("month=%d\n", stu.birthday.month);
printf("day=%d\n", stu.birthday.day);
}
void test3() {
// struct Student {
// int age; // 年龄
// char *name; // 姓名
// float height; // 身高
// };
// struct Student a[2] = {{27, "mj", 1.8f}, {28, "lmj", 1.9f}};
struct Student {
int age; // 年龄
char *name; // 姓名
float height; // 身高
} a[] = {{, "mj", 1.8f}, {, "lmj", 1.9f}};
struct Student a2[];
}
struct Person {
int age;
};
void change(struct Person p) {
p.age = ;
}
// 结构体作为函数参数
void test4() {
struct Person person = {};
change(person);
printf("age=%d", person.age);
}
// 指向结构体的指针
void tets5() {
// 定义一个结构体变量
struct Person person = {};
// 定义一个指向结构体的指针
struct Person *p;
// 让指针p指向结构体person
p = &person;
printf("age=%d\n", person.age);
printf("age=%d\n", (*p).age);
printf("age=%d\n", p->age);
}
int main(int argc, const char * argv[])
{
tets5();
return ;
}
OC 结构体的更多相关文章
- 黑马程序员——Foundation中的OC结构体
<span style="font-size:14px">------<a target="_blank" href="http:/ ...
- OC中结构体作为对象属性
在OC中结构体有时候也作为对象的属性 类的定义 #import <Foundation/Foundation.h> typedef struct{ int year; int month; ...
- 关于OC中直接打印结构体,点(CGRect,CGSize,CGPoint,UIOffset)等数据类型
关于OC直接打印结构体,点(CGRect,CGSize,CGPoint,UIOffset)等数据类型,我们完全可以把其转换为OC对象来进项打印调试,而不必对结构体中的成员变量进行打印.就好比我们可以使 ...
- 黑马程序员——OC语言Foundation框架 结构体
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)结构体 NSRange(location length) NSPoi ...
- 站在OC的基础上快速理解Swift的类与结构体
阅读此文章前,您已经有一定的Object-C语法基础了!) 2014年,Apple推出了Swift,最近开始应用到实际的项目中. 首先我发现在编写Swift代码的时候,经常会遇到Xcode不能提示,卡 ...
- OC中常见的结构体,以及NSNumber、NSValue、NSDate的使用
常见的结构体 NSPoint和CGPoint NSSize和CGSize NSRect 和 CGRect NSPoint和CGPoint的使用 NSPoint和CGPoint是同义的 typedef ...
- OC Foundation框架—结构体
一.基本知识 Foundation—基础框架.框架中包含了很多开发中常用的数据类型,如结构体,枚举,类等,是其他ios框架的基础. 如果要想使用foundation框架中的数据类型,那么包含它的主头文 ...
- OC对象里面包含的结构体类型的属性,不能对该结构体属性的成员单个进行修改
OC对象里面包含的结构体类型的属性,不能对该结构体属性的成员单个进行修改,需要对OC对象的结构体属性整体赋值. 关于网上很多博客写着“结构体类型里面的某个属性如果想要修改是不允许单个修改的” 之解释: ...
- oc温习七:结构体与枚举
结构体和枚举都是一种存储复杂的数据.结构体是用户自定义的一种类型,不同类型的集合. 1.结构体的创建及使用 定义结构体类型 struct MyDate { int year; int month; i ...
随机推荐
- 网络知识之ipset
ipset介绍 ipset是iptables的扩展,它允许你创建 匹配整个地址集合的规则.而不像普通的iptables链只能单IP匹配, ip集合存储在带索引的数据结构中,这种结构即时集合比较大也可以 ...
- 7.使用jenkins+marathon+docker完成自动化部署
1.前置条件 1)Docker开启TCP端口,CloudBees Docker Build and Publish plugin插件会向目标主机docker生成docker镜像 开启docker ap ...
- Vue PDF文件预览vue-pdf
最近做项目,遇到预览PDF这个功能,在网上找了找,大多推荐的是pdf.js,不过在Vue中还是想偷懒直接npm组件,最后找到了一个还不错的Vue-pdf 组件,GitHub地址:https:// ...
- python学习13-类的约束 异常处理 日志
一 .约束 python中约束有两种 第一种,通过抛异常进行约束,这种是子类不按我要求的来,我就给你抛异常(推荐) 操作:提取一个父类. 在父类中给出一个方法.但在方法中不给出任何代码,直接抛异常 # ...
- API 接口设计工具 --Swagger
swagger-editor,无法启动GUI软件,在线版的FQ也打不开 null
- nginx 问题总结
1, 403错误 403是很常见的错误代码,一般就是未授权被禁止访问的意思. 可能的原因有两种:Nginx程序用户无权限访问web目录文件Nginx需要访问目录,但是autoindex选项被关闭 修复 ...
- C++11并发编程:async,future,packaged_task,promise
一:async std::async:用于创建异步任务,可以代替创建线程,函数原型:async(std::launch::async | std::launch::deferred, f, args. ...
- pat1009. Product of Polynomials (25)
1009. Product of Polynomials (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yu ...
- nyoj 10——skiing————————【记忆化搜索】
skiing 时间限制:3000 ms | 内存限制:65535 KB 难度:5 描述 Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激.可是为了获得速度,滑的区域必须向下倾斜,而且当 ...
- nyoj 409——郁闷的C小加(三)——————【中缀式化前缀后缀并求值】
郁闷的C小加(三) 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 聪明的你帮助C小加解决了中缀表达式到后缀表达式的转换(详情请参考“郁闷的C小加(一)”),C小加很 ...