我有三个文件linklist.h
#ifndef LINKEDLIST_H
#define LINKEDLIST_H
#define SUCCESS 0
#define FAIL 1
#include <stdio.h>
#include <malloc.h>
//函数原型
typedef struct node
{
int elem;
struct node * p;
}node,*linklist;
//链表初始化
int initialize(linklist *l)
{
*l = (linklist)malloc(sizeof(node));
(*l)->p =NULL;
return 0;
}
//头插法建立单链表
void createFromHead(linklist l);
//尾插法建立单链表
void createFromEnd(linklist l);
#endif;
第二个文件实现linklist.c,主要实现createfromhead,代码如下
#ifndef LINKEDLIST_H
#define LINKEDLIST_H
#include "linkedlist.h"
#endif;
void createFromHead(linklist l)
{
node *s;
char c;
int flag=1;
while (flag)
{
c=getchar();
if ('$'!=c)
{
s =(node*)malloc(sizeof(node));
s->elem=c;
s->p = l->p;
l->p = s;
}else
flag = 0;
}
}
第三个文件,main函数入口,linklistMain.c
#include "linkedlist.h"
linklist callInit();
int main()
{
linklist linkedlist =0;
linkedlist = callInit();
if (linkedlist)
{
printf("initialize the linklist done");
return SUCCESS;
}else{
printf("initialize the linklist terminate");
return FAIL;
}
createFromHead(linkedlist);
return 0;
}
linklist callInit()
{
linklist l=0;
initialize(&l);
return l;
}
为什么总报错,按照这样的资源组合方式不行吗? 请高手们指点
d:\ccppworkspace\linklist\linkedlist.c(5) : error C2146: syntax error : missing ')' before identifier 'l'
d:\ccppworkspace\linklist\linkedlist.c(5) : error C2061: syntax error : identifier 'l'
d:\ccppworkspace\linklist\linkedlist.c(5) : error C2059: syntax error : ';'
d:\ccppworkspace\linklist\linkedlist.c(5) : error C2059: syntax error : ')'
d:\ccppworkspace\linklist\linkedlist.c(6) : error C2449: found '{' at file scope (missing function header?)
d:\ccppworkspace\linklist\linkedlist.c(22) : error C2059: syntax error : '}'