首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

头文件为啥加预编译语句

2013-04-20 
头文件为什么加预编译语句?typedef int ElementType/* START: fig3_6.txt */#ifndef _List_H#define _Lis

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

  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

热点排行