条件编译的目的;防止头文件被重复包含。
#sqlist.h #ifndef SQLIST_H__ //如果没有包含SQLIST_H__,则下一条语句去定义宏名/宏体 #define SQLIST_H__ //此处define宏名SQLIST_H__,后面的所有内容为宏体 #define DATASIZE 1024 typedef int datatype typedef struct node_st { datatype data[DATASIZE]; int last; //last here used as a counter. };sqlist; sqllist *sqlist_create(); //create linear table void sqllist_create1(sqlist **); //return void if create failed int sqlist_insert(sqlist *,int i,datatype *); // add data int sqlist_delete(sqlist *,int i); int sqlist_find(sqlist *,datatype *); //1st parameter "sqlist *" is current linktable, 2nd parameter is datatye int sqlist_isempty(sqlist *); int sqllist_setempty(sqlist *); int sqlist_getnum(sqlist *); int sqlist_union(sqlist *,sqlist *); int sqlist_destroy(sqlist *); //return int if destroy succed #endif book@100ask:~/C_coding/CH03/arr$ make test1 cc test1.c -o test1 book@