《编写高质量代码:改善Objective-C程序的61个建议》——建议9:高度警惕空指针和野指针的袭击
本节书摘来自华章出版社《编写高质量代码:改善Objective-C程序的61个建议》一 书中的第2章,作者:刘一道,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
建议9:高度警惕空指针和野指针的袭击
在Objective-C中,利用指针写代码,特别对于指针掌握不熟练的人,经常会遭遇到空指针和野指针的困扰,造成应用出现一些莫名其妙的崩溃。因此,有必要在写Objective-C代码时,高度警惕空指针和野指针的袭击。
兵法上讲究“知己知彼,百战不殆”,那么就从什么是空指针和野指针来入手,认识这两个经常搞袭击的常客。
- 认识空指针和野指针
没有存储任何内存地址的指针就称为空指针(NULL指针)。空指针就是被赋值为0的指针,在没有被具体初始化之前,其值为0。也就是说,一个指针变量分配一个NULL值的情况下,没有确切的地址被分配。
下面两个都是空
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
《编写高质量代码:改善Objective-C程序的61个建议》——建议8:C语言与Objective-C语言的关系是充分而非必要条件
本节书摘来自华章出版社《编写高质量代码:改善Objective-C程序的61个建议》一 书中的第2章,作者:刘一道,更多章节内容可以访问云栖社区“华章计算机”公众号查看。 建议8:C语言与Objective-C语言的关系是充分而非必要条件 在众多武侠小说描述的武林界,武术泰斗张三丰,虽然师从少林觉远和尚,但是真人张三丰人集百家之长,融道家养身,刚柔相济,动静结合,以柔克刚,以静制动,而独创武当派。Objective-C和C语言的关系正如“武当和少林”的关系一样,两者虽有关系,但并非是继承关系,故称Objective-C是C语言的超集。Objective-C 作为 C 程序设计语言的超集,支持与 C 相同的基本语法。会看到所有熟悉的元素,如基本类型(int、float 等)、结构、函数、指针,以及流程控制结构,如 if...else 语
- 下一篇
《编写高质量代码:改善Objective-C程序的61个建议》——建议10:在64位环境下尽可能利用标记指针
本节书摘来自华章出版社《编写高质量代码:改善Objective-C程序的61个建议》一 书中的第2章,作者:刘一道,更多章节内容可以访问云栖社区“华章计算机”公众号查看。 建议10:在64位环境下尽可能利用标记指针 在Mac OS X 10.6(雪豹)中开始支持64位,如今最新版本iPhone 5s也开始采用Arm64架构。在64位化的过程中,其中一个比较关键的改进就是,Mac OS 10.7(美洲虎)和iOS 7的64位环境先后引入了标记(Tagged)指针。下面就简单地来介绍一下标记(Tagged)指针。在介绍标记(Tagged)指针之前有必要介绍一下指针地址对齐概念和64位环境的一些变化。 指针地址对齐在32位环境下,要读取一个32位整数,如果这个32位整数在内存地址为0x00000002-0x00000006(仅作举例,这个地址
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Red5直播服务器,属于Java语言的直播服务器
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS8编译安装MySQL8.0.19
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS6,CentOS7官方镜像安装Oracle11G
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS8安装Docker,最新的服务器搭配容器使用