摘要: 这讲介绍最后一个预处理指令---文件包含。其实我们早就有接触文件包含这个指令了, 就是#include,它可以将一个文件的全部内容拷贝另一个文件中。 阅读全文
posted @ 2013-03-20 17:32 M了个J 阅读(10080) 评论(7) 推荐(15) 编辑
摘要: 在很多情况下,我们希望程序的其中一部分代码只有在满足一定条件时才进行编译,否则不参与编译(只有参与编译的代码最终才能被执行),这就是条件编译。 阅读全文
posted @ 2013-03-20 15:50 M了个J 阅读(10985) 评论(3) 推荐(22) 编辑
摘要: 1.C语言在对源程序进行编译之前,会先对一些特殊的预处理指令作解释(比如之前使用的#include文件包含指令),产生一个新的源程序(这个过程称为编译预处理),之后再进行通常的编译 2.为了区分预处理指令和一般的C语句,所有预处理指令都以符号"#"开头,并且结尾不用分号 3.预处理指令可以出现在程序的任何位置,它的作用范围是从它出现的位置到文件尾。习惯上我们尽可能将预处理指令写在源程序开头,这种情况下,它的作用范围就是整个源程序文件 4.C语言提供的预处理指令主要有:宏定义、文件包含、条件编译 阅读全文
posted @ 2013-03-20 00:10 M了个J 阅读(15046) 评论(22) 推荐(37) 编辑
摘要: 前面我们花了接近3个章节学习指针,应该都感受到指针的强大了吧。指针可以根据地址直接操作内存中的数据,使用得当的话,不仅能使代码量变少,还能优化内存管理、提升程序性能。关于指针的内容还非常多,比如指针数组、指向数组的指针、指向指针的指针,呵呵,看到这些名字是否都觉得头大了,不过我就暂时不在博客中讲解这些内容了,我只讲述在iOS开发中指针的最常见用法,比如这一章的内容----返回指针的函数 与 指向函数的指针 阅读全文
posted @ 2013-03-19 02:16 M了个J 阅读(22440) 评论(19) 推荐(52) 编辑
摘要: 一个字符串由一个或多个字符组成,因此我们可以用字符数组来存放字符串,不过在数组的尾部要加上一个空字符'\0'。从上一篇文章《十二、指向一维数组元素的指针》中可以看出指针和数组的关系非常密切,因此我们也可以使用指针来操作字符串。 阅读全文
posted @ 2013-03-18 13:20 M了个J 阅读(16790) 评论(19) 推荐(47) 编辑
摘要: 前面我们已经学习了指针,如果指针存储了某个变量的地址,我们就可以说指针指向这个变量。数组及其数组元素都占有存储空间,都有自己的地址,因此指针变量可以指向整个数组,也可以指向数组元素。 阅读全文
posted @ 2013-03-18 00:14 M了个J 阅读(25786) 评论(12) 推荐(60) 编辑
摘要: 指针是C语言中非常重要的数据类型,如果你说C语言中除了指针,其他你都学得很好,那你干脆说没学过C语言。究竟什么是指针呢?1.我们已经知道,"直接引用"是直接通过变量名来读写变量2.C语言中还有一种"间接引用"的方式(以变量a为例):首先将变量a的地址存放在另一个变量中,比如存放在变量b中,然后通过变量b来间接引用变量a,间接读写变量a的值。这就是"间接引用"。 阅读全文
posted @ 2013-03-16 22:31 M了个J 阅读(33693) 评论(40) 推荐(178) 编辑
摘要: 一、字符处理函数 下面介绍的两个字符处理函数都是在stdio.h头文件中声明的。1.字符输出函数putchar 阅读全文
posted @ 2013-03-15 17:03 M了个J 阅读(15153) 评论(12) 推荐(28) 编辑
摘要: C语言中没有String这种类型。其实字符串就是字符序列,由多个字符组成,所以在C语言中,我们可以用字符数组来存储字符串。字符串可以看做是一个特殊的字符数组,为了跟普通的字符数组区分开来,应该在字符串的尾部添加了一个结束标志'\0'。'\0'是一个ASCII码值为0的字符,是一个空操作符,表示什么也不干。所以采用字符数组存放字符串,赋值时应包含结束标志'\0'。 阅读全文
posted @ 2013-03-15 15:19 M了个J 阅读(14637) 评论(11) 推荐(30) 编辑
摘要: 计算机中的内存是以字节为单位的存储空间。内存的每一个字节都有一个唯一的编号,这个编号就称为地址。凡存放在内存中的程序和数据都有一个地址,也就是说,一个函数也有自己的内存地址。当定义一个变量时,系统就分配一个带有唯一地址的存储单元来存储这个变量。变量存储单元的第一个字节的地址就是该变量的地址。 阅读全文
posted @ 2013-03-15 12:27 M了个J 阅读(20091) 评论(13) 推荐(67) 编辑