ll_printを呼び出すと、プログラムが正しくクラッシュする理由を理解しようとしています。[[これは非常に単純でわかりやすい質問です。説明のギャップを埋めるために実際に何を追加すればよいかわかりません]]
struct ll{
struct ll* next;
int n;
} ll;
void ll_print(struct ll *l){
while (l) {
printf("%d ", l->n);
l=l->next;
}
}
void ll_fill(struct ll *l, int n){
struct ll *temp= NULL;
while (n>0){
l= (struct ll*)malloc(sizeof(struct ll));
l->n=n;
l->next= temp;
temp=l;
n--;
}
}
int main(void){
int i=0;
struct ll *l;
ll_fill(l, 10);
ll_print(l); /** causing a segmntation fault **/
}