头文件及include的用法

问题:

#include <stdio.h>
struct Student
{
    int id;
    char name[20];
};
void test(Student *s);
int main()
{
    Student a={1234,"shaofa"};
    test(&a);
    return 0;
}

这些写法存在以下问题:
1. 同一个类型,被重复写多次
2. 扩展性差,如果向Student中再添加一个成员,需要把每一处类型定义都修改一次
3. 定义可能不一致,编译器无法检查
每个CPP的编译就互相独立的,互相没有任何影响(compile阶段)

头文件:Header File,通常后缀名为.h
头文件的写法
(1) 后缀名一般为.h
(2)内容一般为几种:类型定义、函数声明、变量声明
用头文件解决问题:例如,添加一个Student.h

struct Student
{
    int id;
    char name[32];
};

头文件:Header File ,通常后缀名为.h
头文件的使用

#include “xxxx.h”

使用#include指令,加上文件名,文件名以双引号括起来

#include 的原理:
编译器在处理每个cpp之前,首先进行一个预处理:将所有的#include行替换成头文件的具体内容,形成一个中间文件,然后在对这个中间文件进行编译。
这个在编译之前的预处理过程,称为”预编译”过程。
注:如果头文件里还有#include,则反复替换,直到没有任何#include指令为止。

所以,一个源文件有没有语法错误,要在预处理之后才能决定

#include "Student.h"
#include "Student.h"//被替换两次,这是错误
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ToF君

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值