Sto scrivendo una lista Linked in C, il codice seguente rappresenta la definizione del mio nodo.Come definire una struttura typedef contenente puntatori a se stessa?
typedef struct {
int value;
struct Node* next;
struct Node* prev;
} Node;
ho capito (o pensate che io faccio) che struct Node
non è la stessa typedef struct Node
. Dato che il mio codice viene compilato e eseguito come previsto, tuttavia ricevo molti avvisi quando si assegnano next
e prev
(avviso: assegnazione dal tipo di puntatore incompatibile). Immagino che questo abbia a che fare con il modo in cui li sto definendo nella struttura dei nodi. ho caricato il sorgente completo here
Quindi, se questo è davvero il problema, come devo definire next
e prev
all'interno del typedef struct Node
?
Ero preoccupato che questo potesse essere un repost, ma non riuscivo a trovare quello che stavo cercando. Grazie.
L'elenco collegato mi sembra molto strano. Quando hai prev e next perché hai bisogno di testa e coda, allora? Trova una buona lista collegata in c e impara da essa. Consiglierei la libreria di runtime di Apache. Penso che abbia una lista collegata. – frast
con puntatori a capo e coda rendono append e antefanno O (1) invece di O (n). Fatemi sapere se vedete altri errori poiché questo è principalmente un esercizio per mantenere le mie abilità C un po 'fresche dopo tutti questi anni di Java. –