#ifndef.#define, #endif 的用法

文件中的#ifndef.#define, #endif 很关键,是为了避免多重包含,比如如果两个C文件同时包含同一头文件,那么就会出现问题,所以使用这种方法可以有效避免这种情况。

一般用法:

以add.h为例

复制代码

1 #ifndef  _ADD_H_
2 #define _ADD_H_
3 
4 //在这里包含add.h的类定义及变量和函数的声明
5 比如函数声明:int add(int a ,int b);  //分号是必须加上的
6 
7 #endif  //_ADD_H_

复制代码

编写add.cpp文件

#include"add.h"
int add(int a , int b)
{
  return a+b;  
}

主函数main.cpp文件

复制代码

#include <iostream>
#include "add.h"
using namespace std;

int main()
{    
    int a ;
    a = add(2,3);
    cout<<a<<endl;
    return 0;
}

复制代码

 

1.程序中_ADD_H_为预处理器变量,书写格式一般是头文件名大写,前后加下划线,“.”用下划线代替。比如stdio.h表示为_STDIO_H_.

2.预处理器变量一般有两种状态:已定义或未定义。

  #ifndef 指示检测指定的预处理器变量是否未定义,如果未定义,那么跟在后面的所有指示被处理,直到出现#endif;如果已定义,那么#ifndef测试为假,该指示和#endif指示间的代码都被忽略。

  #define 指示接受一个名字并定义该名字为预处理器变量。

3.在调用该头文件时一般用#include "add.h".

 

4.头文件的使用:

  如果头文件名包含在<>中,那么认为该头文件是标准头文件。编译器将会在预定义的位置集查找该头文件,这些预定义的位置可以通过设置查找路径环境变量或者通过命令行选项来修改。

  如果头文件名包含在"  "中,那么认为它是非系统文件,非系统文件的查找通常开始于源文件所在的路径。

 

注意事项:

变量最好不要定义在.h文件中,具体原因还未深究,在一处博客看到过。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值