Inizializzazioni nel for

di il
3 risposte

Inizializzazioni nel for

Dato il seguente codice, non capisco se nel ciclo for sia possibile definire e inizializzare due puntatori contemporaneamente, ad esempio:
struct elem {
   inf inf;
   elem* pun;
};

elem* lista=testa;
for(elem* lista1=testa, lista2=testa; lista1!=NULL; lista1=lista1->inf)
Il compilatore mi restituisce errore, allora ho provato con quest'altro codice ma non risolvo...
struct elem {
   inf inf;
   elem* pun;
};

elem* lista=testa;
for(elem* lista1=testa, elem* lista2=testa; lista1!=NULL; lista1=lista1->inf)

Mi viene il dubbio che non sia possibile definire e inizializzare due variabili contemporaneamente

3 Risposte

  • Re: Inizializzazioni nel for

    Scrivi così
    
    	elem *lista1, *lista2;
    	for (lista1 = testa, lista2 = testa; lista1 != NULL; lista1 = lista1->inf)
    
  • Re: Inizializzazioni nel for

    oregon ha scritto:


    Scrivi così
    
    	elem *lista1, *lista2;
    	for (lista1 = testa, lista2 = testa; lista1 != NULL; lista1 = lista1->inf)
    
    quindi è necessario fare la dichiarazione fuori dal for poiché convivano le due ex inizializzazioni, adesso sono diventate solo assegnamenti, giusto?
  • Re: Inizializzazioni nel for

    elem {
    inf inf;
    elem
    immagino il tipo sia int, non inf.


    for(elem* lista1=testa, elem* lista2=testa;
    come quando dichiari due variabili nella stessa linea, non devi ripetere il tipo.
    for(elem *lista1=testa, *lista2=testa;

    lista1=lista1->inf);
    immagino sia
    lista1=lista1->pun
Devi accedere o registrarti per scrivere nel forum
3 risposte