【发布时间】:2014-05-07 20:38:50
【问题描述】:
?你好, 我已经实现了一个链接结构,并以此制作了一个列表。
typedef struct link1 {
char* a;
char* b;
int i;
struct link1* next;
};
我有从列表中追加、删除等功能。这些函数获得列表中的第一个链接。问题是使用功能后信息没有更新。 有没有办法传递第一个链接的参数,以便更新列表? 第一个链接来自类型:
link1* first;
**我尝试返回第一个链接并且它有效,但是我有嵌套函数并且我无法在外部函数中返回这些链接,所以我认为唯一的方法是以其他方式传递参数.
现在我这样发送参数:
link1* first;
func(first);
void func(link1* l){...}
谢谢!
【问题讨论】:
-
请澄清,你的意思是你不能改变第一个指针?
-
我更改了从“第一个”链接开始的列表,但仅在函数中。函数完成后,没有保存任何更改。
-
您需要让您的函数接受一个指向
list *的指针,即list **,然后将&first传递给它,然后您可以修改它指向的内容。跨度> -
只是观察,问题中定义的typedef似乎不完整,在声明结构后缺少typedef名称。
标签: c