头文件为什么加预编译语句?

typedef int ElementType;

/* START: fig3_6.txt */

#ifndef _List_H

#define _List_H

struct Node;

typedef struct Node *PtrToNode;

typedef PtrToNode List;

typedef PtrToNode Position;

List MakeEmpty( List L );

int IsEmpty( List L );

int IsLast( Position P, List L );

Position Find( ElementType X, List L );

void Delete( ElementType X, List L );

Position FindPrevious( ElementType X, List L );

void Insert( ElementType X, List L, Position P );

void DeleteList( List L );

Position Header( List L );

Position First( List L );

Position Advance( Position P );

ElementType Retrieve( Position P );

#endif    /* _List_H */

/* END */

看的数据结构的例子,写的头文件里都加了预编译语句,请问到底是为什么?

------解决方案--------------------

防止头文件被多次include包含

------解决方案--------------------

引用:引用:防止头文件被多次include包含那写成这样行不?C/C++ code?1#ifndef List_H或者

C/C++ code?1#ifndef List

一个宏名,爱怎么写怎么写

------解决方案--------------------

嗯,反正是定义一个宏,随便取名啊。从可阅读性来讲,不过最好还是跟文件里定义的相关,好让人一眼看得出来是什么意思

------解决方案--------------------

宏名一般取为头文件名的大写  带上下划线

比如 head.h

一般写成:

#ifndef _HEAD_H_   //如果没有定义该宏

#define _HEAD_H_   //定义该宏,并一直运行到endif,如果已经定义,则不运行该头文件

#endif

html预编译语句,头文件为啥加预编译语句相关推荐

  1. C++如何防止头文件被二次编译

    C++编程时如果多个类引用同一个头文件,有可能会产生二次编译的错误,比如公共头文件common.h被CFile1.h和CFile2.h引用,在主函数CFile类中同时引用CFile1.h和CFile2 ...

  2. gcc编译自定义头文件

    2019独角兽企业重金招聘Python工程师标准>>> C中外部函数实例 内部函数:static声明,只对本文件域生效,外部不可引用 外部函数,使用extern声明,默认可以去掉,在 ...

  3. glibc的头文件 linux_求助,编译glibc头文件时出错

    我用的软件包如下: binutils-2.16.tar.gz gcc-3.4.4.tar.bz2 glibc-2.3.5.tar.gz glibc-linuxthreads-2.3.5.tar.gz ...

  4. linux-gcc 编译时头文件和库文件搜索路径

    linux-gcc 编译时头文件和库文件搜索路径 一.头文件    gcc 在编译时寻找所需要的头文件 :    ※搜寻会从-I开始    ※然后找gcc的环境变量 C_INCLUDE_PATH,CP ...

  5. C++中头文件(.h)和源文件(.cpp)都应该写些什么,头文件中的预编译语句作用,命名空间和头文件的区别与联系,内部链接和外部链接

    1. C++中头文件(.h)和源文件(.cpp)都应该写些什么: 总结下来就是头文件写的就是类的声明(包括类里面的成员和方法的声明)和函数的声明,但一般来说不写出具体的实现.对应的同名(可以不同名,但 ...

  6. linux生成驱动编译的头文件,嵌入式Linux字符设备驱动——5生成字符设备节点

    嵌入式Linux字符设备驱动开发流程--以LED为例 前言 留空 头文件 #include 查看系统设备类 ls /sys/class 设备类结构体 文件(路径):include/linux/devi ...

  7. gcc编译链接头文件和库文件

    GCC与头文件 gcc -参数: -I ( i 的大写) :指定头文件路径(相对路径或绝对路径,建议相对路径) -i :指定头文件名字 (一般不使用,而是直接放在**.c 文件中通过#include& ...

  8. 【c】写头文件要加#ifndef,#define, #endif

    头文件首位 编写.h时, 最好加上如下,用来防止重复包含头文件: 例如: 要编写头文件test.h 在头文件开头写上两行:#ifndef _TEST_H#define _TEST_H// 文件名的大写 ...

  9. linux编译寻找包含的头文件,Linux编写内核模块编译时找不到头文件

    //所有模块都需要的头文件#include // init&exit 相关宏MODULE_LICENSE("GPL");static int __init hello_in ...

最新文章

  1. 通过性能计数器确定.net应用程序是否存在内存溢出
  2. Java 实现三次 for 循环计算水仙花数
  3. 计算机cpu温度显示原理图,腾讯计算机管家关于如何检查CPU温度的图形教程
  4. VC6 CImage 加载jpg png bmp
  5. [翻译]在jQuery 1.5中使用deferred对象
  6. 典型相关分析_微生物多样研究—微生物深度分析概述
  7. 挑战Tiktok,跨境卖家的新红利流量渠道?
  8. 使用MicroPython开发ESP32(06):WebServer功能实现简单说明
  9. 如何美化CheckBox
  10. 苏州大学 算法与数据结构
  11. Lipschitz 条件
  12. html让背景图铺满整个页面
  13. 呼叫系统管理服务器图片,电话呼叫中心系统架构,电话呼叫系统软件
  14. 桌面计算机回收站打不开,b8,教您电脑回收站打不开怎么解决
  15. 最新zotero与obsidian笔记联动教程(可代替citations和mdnotes)
  16. python清空字典保留变量方法,python关于字典的常用方法
  17. 《融智学进阶文集》01:间接计算模型和间接形式化方法
  18. jQurey回车登陆
  19. 百度地图绘画行政区域
  20. 玫瑰图制作|多种可视化工具集锦

热门文章

  1. 根据qq号获取qq头像
  2. JFinal自定义指令Directive
  3. 亚信科技外包_【亚信(AsiaInfo)亚信科技是外包公司吗?】-看准网
  4. 2019淘宝店铺实时预售查询
  5. 【转】Elon Musk 【带着目标学习、第一性原理思维,不去追逐平庸的机会,切身感受“追逐的力量”】
  6. GCD多线程之多任务并发等待所有任务完成
  7. 外贸邮件营销软件哪些好用?
  8. Mr.Alright---程序员应该会的简单ps技巧之合成图片
  9. 《哲学史讲演录》——思辨节选---毕泰戈拉与毕泰戈拉派
  10. 软件测试之——关于APP弱网测试