Liste concatenate

di il
2 risposte

Liste concatenate

Salve a tutti, sto studiando le liste concatenate.
Ho capito bene cosa sono e a cosa possono essere utili. Purtroppo però, non capisco cosa succede graficamente, quando vado leggere questo frammento di codice:

struct listNode {
	char data; 
	struct listNode *nextPtr; 
	}; 
	
typedef struct listNode ListNode;
typedef ListNode *ListNodePtr; 

Per quanto riguarda la struttura listNode e il primo typedef ho capito benissimo.
Il primo typedef mi rinomina "struct listNode" in "ListNode" quindi quando ho bisogno di dichiarare struct listNode, mi basta scrivere
direttamente ListNode.
Per quanto riguarda invece il secondo typedef, non capisco esattamente cosa succede, quello che mi confonde è l'asterisco di puntatore.
Qualcuno potrebbe darmi delle delucidazioni? Se possibile anche con qualche piccola dimostrazione grafica.

Grazie tante in anticipo

2 Risposte

  • Re: Liste concatenate

    Fa la stessa cosa che fa il primo typedef, crea una alias per ListNode*. Quindi quando hai bisogno di un ptr a ListNode puoi semplicemente scrivere ListNodePtr
  • Re: Liste concatenate

    Purtroppo questa cosa non mi è chiara.
    Se io scrivo
    struct ListNode *ListNodePtr
    non è come se rinominassi
    ListNode in *ListNodePtr?
    Quindi scrivendo ListNodePtr perchè starei dichiarando un puntatore? Il compilatore non vede quell'asterisco nel typedef come carattere?
Devi accedere o registrarti per scrivere nel forum
2 risposte