课件l18-02头文件及include的用法_第1页
课件l18-02头文件及include的用法_第2页
课件l18-02头文件及include的用法_第3页
课件l18-02头文件及include的用法_第4页
课件l18-02头文件及include的用法_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C/C+学习指南 第18.2讲:头文件及include的用法作者:邵发 官网: 答疑: kbase/引例/ other.cpp /#include struct Studentint id;char name32;void test(Student* s)printf(Student ID: %d , Name: %s n, s-id, s-name);记住:每个cpp的编译就互相独立的,互相没有任何影响 (compile阶段)C/C+学习指南 邵发 引例/ main.cpp /#include / 自定义类型struct Studentint id;char name32;/ 函数声明voi

2、d test(Student* s); int main()Student s =1234, shaofa;test(&s); / 调用函数return 0;C/C+学习指南 邵发 引例这些写法存在以下问题同一个类型,Student,被重复写了多次扩展性差:如果向Student中再添加一个成员,需要把每一处类型定义都修改一次。定义可能不一致,编译器无法检查。记住:每个cpp的编译就互相独立的,互相没有任何影响 (compile阶段)C/C+学习指南 邵发 使用头文件头文件:Header File ,通常后缀名为 .h头文件的写法:后缀名一般为 .h内容一般为几种:类型定义、函数声明、变量声明。

3、用头文件解决问题:例如,添加一个Student.h,struct Studentint id;char name32;C/C+学习指南 邵发 使用头文件头文件:Header File ,通常后缀名为 .h头文件的使用: #include xxxx.h使用#include指令,加上文件名,文件名以双引号括起来C/C+学习指南 邵发 #include指令的原理#include 的原理:编译器在处理每个cpp之前,首先进行一个预处理:将所有的#include行替换成头文件的具体内容,形成一个中间文件,然后再对这个中间文件进行编译。这个在编译之前的预处理过程 ,称为“预编译”过程。注:如果头文件里还有

4、#include,则反复替换,直到没有任何#include指令为止。C/C+学习指南 邵发 #include指令的原理C/C+学习指南 邵发 #include Student.hint main() .struct Studentint id;char name32;int main() .源文件预处理之后的中间文件#include指令的原理所以,一个源文件有没有语法错误,要在预处理之后才能决定。例1:下面这种情形有没有语法错误?#include Student.h#include Student.h / 重复包含了2次int main() .C/C+学习指南 邵发 #include指令的原理例2:/ abc.h /int test(int a);/ main.cpp /#include abc.hint main() test(); return 0;C/C+学习指南 邵发 头文件的内容(1)类型定义如struct类型的定义struct Studentint id;char name32;C/C+学习指南 邵发 头文件的内容(2) extern声明 函数声明和全局变量的声明exter

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论