- 论坛徽章:
- 0
|
原帖由 huaxue 于 2006-10-6 11:24 发表
我做了这样的修改(只改了creatlist和main函数),我不知道错在哪里??
creatlist函数的形参是指针型,应该是地址传递,不是值传递,为什么还是不对呢?
平时2级指针用的不多,希望大牛们指导俺一下
10 ...
你的 createlist() 完全不能工作
前面已经有人提过,建议分两个函数来
一个:
void init_list(linklist ** s)
{
*s = (linklist *)malloc(sizeof(linklist));
if (!s) {
printf("No enough memory\n");
exit(-1);
}
memset(*s, 0, sizeof(linklist));
}
另一个:
linklist * get_node()
{
linklist *t = (linklist *)malloc(sizeof(linklist));
if (!t) {
printf("No enough memory\n");
exit(-1);
}
memset(t, 0, sizeof(linklist));
return t;
}
void create_list(linklist *L, int size)
{
int i = 0;
init_list(&L);
while (i++ < size) {
L->next = get_node();
L = L->next;
... ...
}
}
[ 本帖最后由 mik 于 2006-10-6 12:23 编辑 ] |
|