2019年3月19日
摘要: 存储类说明符? 就是将以前学习的变量和即将要学习的几种变量进行了一个分类。 这四个不同的变量又有 各自的特点,这个特点和它们各自存储的区域有关联的。 之前讲的内存分区,大概分5种,栈区,堆区,全局静态区, 字符常量区, 代码区 自动变量存在一个区域,静态变量存在一个区域,不同的内存区域是有不同特点的 阅读全文
posted @ 2019-03-19 17:15 轻舞飞扬的饼 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 一编译 说明函数fun 重定义了。 我们说函数的定义一定要写在源文件中,为什么不能写在头文件中?因为头文件要在我们的项目中在多个位置被包含,头文件的本质就复制替换。如果函数定义写在了头文件中,那么就相当于在程序的多个位置,出现了和 fun 同名的函数。所以函数的定义要写在源文件中,而源文件不会被包含 阅读全文
posted @ 2019-03-19 16:33 轻舞飞扬的饼 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 上两节讲的是头文件的重复包含,重复包含是:在主文件 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) 编辑