Liste concatenate

di Anonimizzato22404 il
2 risposte
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

  • 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
  • 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