读书人

C语言函数传递参数时amp;符号有关问题

发布时间: 2012-05-09 12:13:59 作者: rapoo

C语言函数传递参数时&符号问题
下面是链表的初始化的函数,可是不明白createlist_L函数中传递参数有个&符号。
请问这个&在这里是什么意思?
createlist_L函数传递进去的是什么?
为什么有的链表的函数传递时要&这个符号,而有的不用?
//链表初始化
#include <stdio.h>
#include <stdlib.h>
typedef int status;
typedef status elemtype;

typedef struct Lnode
{
elemtype date;
struct Lnode *next;
}Lnode , *linklist;
linklist L;

void createlist_L(linklist &L, int n)
{
linklist p;
L=(linklist)malloc(sizeof(Lnode));
L->next=NULL;
for (int i=n;i>0;--i)
{
p=(linklist)malloc(sizeof(Lnode));
printf("请输入链表的第%d个数!\n",i);
scanf("%d",&p->date);
p->next = L->next;
L->next = p;
}
}

[解决办法]
createlist_L(linklist &L, int n) //一般是为链表分配空间时用& ,通过对指针变量的引用,修改函数传入的指针变量的值
分配完空间,对分配的空间里的数据操作时就不加&,引用c++支持 而c是不支持的
[解决办法]

C/C++ code
这应该是C++的语法吧。引用,通过这种方法可以函数参数传递将链表头结点L的值修改。void createlist_L(linklist &L, int n) { linklist p; L=(linklist)malloc(sizeof =%s\n", str);   for(; i<4; ++i)   {      printf("%02x ", str[i]);      iVal[i] = str[i];   }   printf("\n");   for(i=0; i<4; ++i)      putchar(iVal[i]);   return 0;} 

读书人网 >C++

热点推荐