Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Concetto di Base e Struttura | Implementazione delle strutture dati
Struct in C
Sezione 5. Capitolo 2
single

single

Concetto di Base e Struttura

Scorri per mostrare il menu

Una lista collegata in C è una semplice struttura dati dinamica composta da elementi chiamati nodi. Ogni nodo contiene dati (come una variabile o un oggetto) e un puntatore al nodo successivo nella lista.

lista+collegata

Ecco come appare un tipico nodo in una lista collegata semplice in C:

struct+node
main.c

main.c

1234
struct Node { int data; // data in node struct Node* next; // pointer to next node };

Se invece di un puntatore al nodo successivo si tenta semplicemente di creare un'istanza di un nuovo nodo, si otterrà un errore.

Il compilatore non sarà in grado di allocare memoria per una tale struttura, poiché essa contiene sé stessa. È come cercare di guardarsi dall'esterno con i propri occhi.

L'utilizzo di un puntatore risolve questo problema perché il compilatore sa quanta memoria allocare per una variabile puntatore.

Note
Nota

Il puntatore dell'ultimo nodo sarà sempre NULL.

Compito

Scorri per iniziare a programmare

Crea una funzione createNode che allochi dinamicamente la memoria per un nuovo nodo di una lista collegata. La funzione deve inizializzare il campo data con il valore fornito e impostare il puntatore next a NULL.

Successivamente, in main, crea diversi nodi, collegali tra loro e stampa la lista collegata.

  1. All'interno di createNode, alloca la memoria per un nuovo nodo utilizzando malloc e fai il cast a (struct Node*).
  2. Verifica se l'allocazione della memoria non è riuscita. Se newNode è NULL, stampa un messaggio di errore e restituisci NULL.
  3. Inizializza il campo data del nuovo nodo con il parametro value.
  4. Imposta il puntatore next del nuovo nodo a NULL.
  5. Restituisci il puntatore al nodo appena creato.

Soluzione

Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 5. Capitolo 2
single

single

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

some-alt