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

关于函数形参调用有关问题

2014-01-14 
关于函数形参调用问题!以下是定位链表中某元素的位置的程序:#include stdio.h#include malloc.htypede

关于函数形参调用问题!
以下是定位链表中某元素的位置的程序:


#include <stdio.h>
#include <malloc.h>
typedef char ElemType;
typedef struct LNode
{
ElemType data;
struct LNode *next;
}LNode,*LinkList;  


LinkList CreateLinkList(void)
{
char ch;
LinkList head;
LNode *p;
head = NULL;
ch = getchar();
while(ch !='\n')
{
p = (LNode*)malloc(sizeof(LNode));
p->data = ch;
p->next = head;
head = p;
ch = getchar();
}
return (head);
}

int LocateElem(LinkList L, ElemType x)
{
int i = 0;
LinkList p;
p = L;
while(p && p->data != x)
{
i++;
p = p->next;
}
if(!p)
return 0;
else
return i;
}
main()
{
LinkList list;
int Loc;
char x;
list = CreateLinkList();
printf("请输入需要查找的元素:");
x = getchar();
Loc = LocateElem(list,x);
printf("该元素在链表中第一次出现的位置为:%d\n",Loc);
}


当我把第30行:int LocateElem(LinkList L, ElemType x)改为:int LocateElem(LinkList &L, ElemType x)时,出现错误:F:\coding\data structure\book\chap2\LocateNode\LN.c(30) : error C2143: syntax error : missing ')' before '&'
F:\coding\data structure\book\chap2\LocateNode\LN.c(30) : error C2143: syntax error : missing '{' before '&'
F:\coding\data structure\book\chap2\LocateNode\LN.c(30) : error C2059: syntax error : '&'
F:\coding\data structure\book\chap2\LocateNode\LN.c(30) : error C2059: syntax error : ')'
难道调用该函数不能进行引用调用吗,我看书上好像很多地方那个参数前面都加了个“&”符号,而且将它改成:int LocateElem(LNode *L, ElemType x)又是对的,为啥?
[解决办法]
LinkList&跟在后面,不要写在变量前面。
[解决办法]
c语言?是没有引用的

热点排行