Bazı işlevler verildi, ancak ana çalışma yöntemi (ana liste) alınamıyor gibi görünüyor. Ne olacağını düşündüm 1 ana liste ve insert_at_front buna ekleyecektir, ancak sadece ilk listeyi (10) basar. Bağlantılı bir listeyi nasıl alabileceğimi bilen var mı? Şimdiden teşekkürler :)Bağlantılı bir liste nasıl yapılır (struct to pointer) - c
#include <stdlib.h>
#include "week1.h"
void insert_at_front(List *self, int data)
{
List newNode = (List)malloc(sizeof(struct node));
newNode->data = data;
newNode->next = *self;
*self = newNode;
}
void print_list(List *self)
{
List current = *self;
while (current != NULL)
{
printf("%d\n", current->data);
current = current->next;
}
printf("\n");
}
int main(void)
{
List *master;
insert_at_front(&master, 10);
insert_at_front(&master, 20);
print_list(&master);
return 0;
}
başlık: struct node
yüzden List *master
beyanı aslında bir node
bir ponter bir göstericidir senin için bir işaretçi olarak
typedef struct node
{
int data;
struct node *next;
} *List;
void print_list(List *self);
void insert_at_front(List *self, int data);
öğretici (http://pastebin.com/HC1DLK4M) – sp2danny
Bu bir yinelenen değil @manniL. OP, kodun neden bekleneni yapmadığını soruyor. “Bağlantılı bir liste nasıl çalışır?” Konusunda açıklama istemiyor. – muXXmit2X