2019年3月19日
摘要: 上两节讲的是头文件的重复包含,重复包含是:在主文件 main中 可能会包含多个自己写的头文件,这些个头文件中又变相的(间接的)包含了其他的头文件,导致某一个c.h 在纯纯的替换之后,在主文件上面出现了多次,结果造成了重复包含,从而导致重定义这种错误。 互相包含: 假如有一个c.h和d.h 两个头文件 阅读全文
posted @ 2019-03-19 15:35 轻舞飞扬的饼 阅读(891) 评论(0) 推荐(0) 编辑
摘要: 设想一种情形: 在c3.h中定义一个结构体类型,之前说过结构体类型、宏、类型重命名都是放到头文件里面的。当然放在源文件中也行,不过一般这些声明都是放在头文件中,这是一个规范!! 因为它本身就是一个类型,可能在很多文件中都会使用,所以这些东放在头文件里面,这样的话,在其他文件使用这个定义的时候,就直接 阅读全文
posted @ 2019-03-19 11:31 轻舞飞扬的饼 阅读(320) 评论(0) 推荐(0) 编辑
摘要: 头文件重复包含所引起的问题,问题就一个——重定义。因为把同样的代码在同一个文件中复制黏贴了两份,比如对结构体类型,复制了两份就是两个一模一样的结构体,所以会报重定义的错误!!! 既然允许头文件重复包含,但是如何去处理,让你不能够重定义? 解决办法:在头文件中 这种写法也是固定的!再来看c3.h中的 阅读全文
posted @ 2019-03-19 10:37 轻舞飞扬的饼 阅读(181) 评论(0) 推荐(0) 编辑
2019年3月18日
摘要: 包含头文件的时候,如果包含的是自己写的头文件是用" " 。如果是包含系统的头文件,一般用<>。 相对路径与绝对路径 阅读全文
posted @ 2019-03-18 21:11 轻舞飞扬的饼 阅读(179) 评论(0) 推荐(0) 编辑
摘要: #include "c3.h " 这个就是包含头文件。 #include 是预处理指令,特点是前面加了一个#。预处理指令的特点是在程序编译的过程中起作用。 程序编译的过程就是 点了生成解决方案,程序就是在编译,最终编译成为一个可执行文件。 预处理指令/宏 是在编译的过程中起作用!编译完了,最终生成的 阅读全文
posted @ 2019-03-18 17:38 轻舞飞扬的饼 阅读(812) 评论(0) 推荐(0) 编辑
摘要: 多文件编程是c语言中非常重要的 ,是必用的。 多文件编程就是一个工程当中,有多个文件,这些文件之间有相互制约的关系,依赖的关系等一些列的关系。 c3这个源文件,对应c3的头文件,俩文件是一一对应的。 源文件里面放的是函数的定义 c3.h这个头文件里面放的是c3.c这个文件中函数的声明 一一对应之后, 阅读全文
posted @ 2019-03-18 17:19 轻舞飞扬的饼 阅读(190) 评论(0) 推荐(0) 编辑
2019年3月17日
摘要: 阅读全文
posted @ 2019-03-17 21:25 轻舞飞扬的饼 阅读(75) 评论(0) 推荐(0) 编辑
摘要: 对宏的理解: 对比之前学的,enum(枚举)是给整数取名字,具体是给int类型的 整数,0,1,2···取名字。typedef是给数据类型取名字,数据类型就是int double ,结构体类型,指针类型,函数指针类型等等 对比枚举和typedef的功能,宏可以给一切的东西重命名。(本质是纯纯的替换, 阅读全文
posted @ 2019-03-17 17:29 轻舞飞扬的饼 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 所谓数据重命名就是给数据类型起一个新的名字,比如int 这个数据类型,可以给他起一个新的名字叫 my int。他俩的用法、特点、属性等是一模一样,仅仅名字不同而已。 作用:1,增加代码的可读性。2,让类型写起来更方便。 函数指针类型 void fun (int a,double d) { } 这个函 阅读全文
posted @ 2019-03-17 16:22 轻舞飞扬的饼 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 作用:计算机存储数据的方式 小端存储: 个人计算机一般都是小端存储,大端存储一般是在网络字节序。 大端存储: 通过强转的方式看一下大小端存储 联合测大小端,在笔试中常考 阅读全文
posted @ 2019-03-17 15:48 轻舞飞扬的饼 阅读(99) 评论(0) 推荐(0) 编辑