iOS开发分分钟搞定C语言?结构体和枚举
作者:CoderLFYue 发布时间:[ 2016/8/19 13:51:10 ] 推荐标签:测试开发技术 iOS
六、指向结构体的指针
结构体指针变量的定义形式:struct 结构体名称 指针变量名*
有了指向结构体的指针,那么有3种访问结构体成员的方式
结构体变量名.成员名
(*指针变量名).成员名
指针变量名->成员名
int main(int argc, const char * argv[]) {
// 定义一个结构体类型
struct Student {
char *name;
int age;
};
// 定义一个结构体变量
struct Student stu = {“MJ”, 27};
// 定义一个指向结构体的指针变量
struct Student *p;
// 指向结构体变量stu
p = &stu;
//这时候可以用3种方式访问结构体的成员
// 方式1:结构体变量名.成员名
printf(“name=%s, age = %d ”, stu.name, stu.age);
// 方式2:(*指针变量名).成员名
printf(“name=%s, age = %d ”, (*p).name, (*p).age);
// 方式3:指针变量名->成员名
printf(“name=%s, age = %d ”, p->name, p->age);
return 0;
}
七、结构体如何开辟存储空间
看上去, 结构体分配存储空间是将所有属性占用的存储空间的总和加在一起后再分配
注意:
其实结构体分配存储空间本质上并不是将所有属性占用的存储空间的总和加在一起后再分配
而是会获取结构体类型中占用内存大的属性的大小, 然后取该大小的倍数
特例:
如果剩余的存储空间”不够”存储将要存储的数据, 那么会重新开辟8个字节的存储空间, 并且将需要存储的数据放到新开辟的存储空间中。
如果剩余的存储空间”够”存储将要存储的数据, 那么不会开辟了。
八、枚举
枚举是专门用于表示几种固定类型的取值,枚举的本质是基本数据类型, 是整型。在iOS开发中是非常常用的。
枚举类型定义的格式
enum 枚举类型名称{
类型1,
类型2,
};
注意:由于枚举类型的本质是整型, 所以枚举类型除了可以接收枚举的固定的取值以外, 还可以接收其它整型的值,枚举的值默认从0开始依次递增。
定义枚举的一般规范:
*(1)枚举类型的取值一般以k开头 后面跟上枚举类型的名称 跟上当前取值的含义
(2)和结构体一样, 枚举类型的名称首字母大写*
enum Season
{
kSeasonSpring,
kSeasonSummer,
kSeasonAutumn,
kSeasonWinter
};
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-61079698-8054),我们将立即处理,马上删除。
相关推荐
编程常用的几种时间戳转换(java .net 数据库).Net中关于相等的问题Asp.net MVC如何对所有用户输入的字符串字段做Trim处理Asp.Net WebForm生命周期的详解.Net开发的两个小技巧asp.net 六大内置对象.Net基础体系和跨框架开发普及Linux使用Jexus托管Asp.Net Core应用程序asp.net登录验证码实现方法ASP.NET自带对象JSON字符串与实体类的转换从 .NET 和 Java 之争谈 IT 行业.Net高效开发之不可错过的实用工具ASP.NET MVC必须知道的那些事!.NET中使用无闪刷新控件时提示框不显示.net开发中要注意的事项Asp.net Core MVC中使用Session
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11热门文章
常见的移动App Bug??崩溃的测试用例设计如何用Jmeter做压力测试QC使用说明APP压力测试入门教程移动app测试中的主要问题jenkins+testng+ant+webdriver持续集成测试使用JMeter进行HTTP负载测试Selenium 2.0 WebDriver 使用指南