#include <stdio.h>
#include <stdlib.h>
typedef struct {
unsigned length;
} List;
void init(List *l) {
l = (List *) malloc(sizeof(List));
l->length = 3;
}
int main(void) {
List *list = NULL;
init(list);
if(list != NULL) {
printf("length final %d \n", list->length);
return 0;
}
return 1;
}
Run Code Online (Sandbox Code Playgroud)
这是代码的简化版本,它给我带来了问题.我试图*list从*list作为参数传递的方法构造指针.
我知道我可以void init(List *l)通过更改它来完成工作,void init(List **l)但这是一个课程教程.我无法更改方法参数.我花了四个小时研究这个问题.
我想确保void init(List *l)在面对我的教授之前没有办法做工作.
提前致谢