随笔分类 -  iOS学习1-C语言

很多使用面向对象语言进行开发的程序员都没有学过C语言,这个专题就是帮助面向对象程序员学习C语言
摘要:在去年年底开通了个人B站:小码哥MJ,将会不定期上传一些IT干货视频,欢迎观看交流! 下面的图片是截止至2020年6月6日上传的一些内容 也非常欢迎关注个人微信公众号:xmg_mj,将不定期分享IT技术干货 阅读全文
posted @ 2020-03-07 10:19 M了个J 阅读(6882) 评论(0) 推荐(8) 编辑
摘要:这讲介绍C语言中很常用的一个关键字---typedef。我们可以使用typedef关键字为各种数据类型定义一个新名字(别名)。 阅读全文
posted @ 2013-03-24 20:21 M了个J 阅读(20592) 评论(33) 推荐(90) 编辑
摘要:枚举是C语言中的一种基本数据类型,并不是构造类型,它可以用于声明一组常数。当一个变量有几个固定的可能取值时,可以将这个变量定义为枚举类型。比如,你可以用一个枚举类型的变量来表示季节,因为季节只有4种可能的取值:春天、夏天、秋天、冬天。 阅读全文
posted @ 2013-03-24 17:43 M了个J 阅读(12520) 评论(6) 推荐(21) 编辑
摘要:C语言的核心部分都说得七七八八了,相信大家已经对C语言的基本数据类型(char\int\float)、数组、指针都很熟悉了,今天来学习C语言中另外一种数据类型:结构体。在iOS开发中,结构体是经常用到的数据类型,使用频率不亚于指针,所以需要重视,不过用法非常简单。在实际应用中,我们通常需要由不同类型的数据来构成一个整体,比如学生这个整体可以由姓名、年龄、身高等数据构成,这些数据都具有不同的类型,姓名可以是字符串类型,年龄可以是整型,身高可以是浮点型。 为此,C语言专门提供了一种构造类型来解决上述问题,这就是结构体,它允许内部的元素是不同类型的。 阅读全文
posted @ 2013-03-24 17:09 M了个J 阅读(19684) 评论(11) 推荐(63) 编辑
摘要:上一讲介绍了static和extern对函数的作用,static用来定义一个内部函数,不允许其他文件访问;extern用来定义和声明一个外部函数,允许其他文件访问。static和extern对变量也有作用,不过跟函数有点差别。C语言和Java都有全局变量的概念,但是它们的用法还是有些差别的。 阅读全文
posted @ 2013-03-22 23:06 M了个J 阅读(12177) 评论(10) 推荐(21) 编辑
摘要:上一讲中大致介绍了变量的类型,不同类型的变量有不同的存储类型、不同的生命周期、不同的作用域。这讲介绍2个比较重要的关键字:static和extern。 static和extern不仅可以用在变量上,还可以用在函数上。这讲先介绍它们对函数的作用。 阅读全文
posted @ 2013-03-21 23:57 M了个J 阅读(15514) 评论(11) 推荐(31) 编辑
摘要:C语言有丰富的数据类型和运算符,因此计算能力非常强大,计算过程中使用的值一般用变量来存储。变量也是有分类型的,不同类型的变量有不同的存储类型、不同的生命周期、不同的作用域,C语言也提供了一些关键字来设置变量的属性(比如设置存储类型、生命周期)。 阅读全文
posted @ 2013-03-21 18:01 M了个J 阅读(13157) 评论(1) 推荐(34) 编辑
摘要:这讲介绍最后一个预处理指令---文件包含。其实我们早就有接触文件包含这个指令了, 就是#include,它可以将一个文件的全部内容拷贝另一个文件中。 阅读全文
posted @ 2013-03-20 17:32 M了个J 阅读(10134) 评论(7) 推荐(15) 编辑
摘要:在很多情况下,我们希望程序的其中一部分代码只有在满足一定条件时才进行编译,否则不参与编译(只有参与编译的代码最终才能被执行),这就是条件编译。 阅读全文
posted @ 2013-03-20 15:50 M了个J 阅读(11046) 评论(3) 推荐(22) 编辑
摘要:1.C语言在对源程序进行编译之前,会先对一些特殊的预处理指令作解释(比如之前使用的#include文件包含指令),产生一个新的源程序(这个过程称为编译预处理),之后再进行通常的编译 2.为了区分预处理指令和一般的C语句,所有预处理指令都以符号"#"开头,并且结尾不用分号 3.预处理指令可以出现在程序的任何位置,它的作用范围是从它出现的位置到文件尾。习惯上我们尽可能将预处理指令写在源程序开头,这种情况下,它的作用范围就是整个源程序文件 4.C语言提供的预处理指令主要有:宏定义、文件包含、条件编译 阅读全文
posted @ 2013-03-20 00:10 M了个J 阅读(15112) 评论(22) 推荐(37) 编辑
摘要:前面我们花了接近3个章节学习指针,应该都感受到指针的强大了吧。指针可以根据地址直接操作内存中的数据,使用得当的话,不仅能使代码量变少,还能优化内存管理、提升程序性能。关于指针的内容还非常多,比如指针数组、指向数组的指针、指向指针的指针,呵呵,看到这些名字是否都觉得头大了,不过我就暂时不在博客中讲解这些内容了,我只讲述在iOS开发中指针的最常见用法,比如这一章的内容----返回指针的函数 与 指向函数的指针 阅读全文
posted @ 2013-03-19 02:16 M了个J 阅读(22511) 评论(19) 推荐(52) 编辑
摘要:一个字符串由一个或多个字符组成,因此我们可以用字符数组来存放字符串,不过在数组的尾部要加上一个空字符'\0'。从上一篇文章《十二、指向一维数组元素的指针》中可以看出指针和数组的关系非常密切,因此我们也可以使用指针来操作字符串。 阅读全文
posted @ 2013-03-18 13:20 M了个J 阅读(16851) 评论(19) 推荐(47) 编辑
摘要:前面我们已经学习了指针,如果指针存储了某个变量的地址,我们就可以说指针指向这个变量。数组及其数组元素都占有存储空间,都有自己的地址,因此指针变量可以指向整个数组,也可以指向数组元素。 阅读全文
posted @ 2013-03-18 00:14 M了个J 阅读(25876) 评论(12) 推荐(60) 编辑
摘要:指针是C语言中非常重要的数据类型,如果你说C语言中除了指针,其他你都学得很好,那你干脆说没学过C语言。究竟什么是指针呢?1.我们已经知道,"直接引用"是直接通过变量名来读写变量2.C语言中还有一种"间接引用"的方式(以变量a为例):首先将变量a的地址存放在另一个变量中,比如存放在变量b中,然后通过变量b来间接引用变量a,间接读写变量a的值。这就是"间接引用"。 阅读全文
posted @ 2013-03-16 22:31 M了个J 阅读(33912) 评论(40) 推荐(178) 编辑
摘要:一、字符处理函数 下面介绍的两个字符处理函数都是在stdio.h头文件中声明的。1.字符输出函数putchar 阅读全文
posted @ 2013-03-15 17:03 M了个J 阅读(15228) 评论(12) 推荐(28) 编辑
摘要:C语言中没有String这种类型。其实字符串就是字符序列,由多个字符组成,所以在C语言中,我们可以用字符数组来存储字符串。字符串可以看做是一个特殊的字符数组,为了跟普通的字符数组区分开来,应该在字符串的尾部添加了一个结束标志'\0'。'\0'是一个ASCII码值为0的字符,是一个空操作符,表示什么也不干。所以采用字符数组存放字符串,赋值时应包含结束标志'\0'。 阅读全文
posted @ 2013-03-15 15:19 M了个J 阅读(14755) 评论(11) 推荐(30) 编辑
摘要:计算机中的内存是以字节为单位的存储空间。内存的每一个字节都有一个唯一的编号,这个编号就称为地址。凡存放在内存中的程序和数据都有一个地址,也就是说,一个函数也有自己的内存地址。当定义一个变量时,系统就分配一个带有唯一地址的存储单元来存储这个变量。变量存储单元的第一个字节的地址就是该变量的地址。 阅读全文
posted @ 2013-03-15 12:27 M了个J 阅读(20303) 评论(13) 推荐(67) 编辑
摘要:计算机的基本能力就是计算,所以一门语言的计算能力十分重要。C语言之所以无所不能,很大原因在于它有强大的计算能力。C语言一共有34种运算符,其中的大多数运算符跟在Java中的用法是一样的。下面做一个简单介绍。 阅读全文
posted @ 2013-03-15 00:15 M了个J 阅读(12939) 评论(9) 推荐(34) 编辑
摘要:printf函数,这是在stdio.h中声明的一个函数,因此使用前必须加入#include ,使用它可以向标准输出设备(比如屏幕)输出数据 阅读全文
posted @ 2013-03-14 19:08 M了个J 阅读(16861) 评论(14) 推荐(33) 编辑
摘要:C语言有丰富的数据类型,因此它很适合用来编写数据库,如DB2、Oracle都是C语言写的。跟其他语言一样,C语言中用变量来存储计算过程使用的值,任何变量都必须先定义类型再使用。为什么一定要先定义呢?因为变量的类型决定了变量占用的存储空间,所以定义变量类型,就是为了给该变量分配适当的存储空间,以便存放数据。比如你是char类型,我就只给你分配1个字节就够了,没必要分配2个字节、3个字节乃至更多的存储空间。 阅读全文
posted @ 2013-03-13 17:38 M了个J 阅读(14781) 评论(20) 推荐(40) 编辑