Linguaggio C, struct e array di struct

di il
22 risposte

22 Risposte - Pagina 2

  • Re: Linguaggio C, struct e array di struct

    Ma perché dovresti utilizzare la i nel main??
  • Re: Linguaggio C, struct e array di struct

    Come faccio, allora, a stampare il record nel main senza indice che mi identifica a quale cella dell'array di record accedere?!
  • Re: Linguaggio C, struct e array di struct

    Ma hai il puntatore al record ! Allora perché mai restituisci il puntatore?
  • Re: Linguaggio C, struct e array di struct

    Non riesco a capire.

    Mi mostri un esempio?
  • Re: Linguaggio C, struct e array di struct

    Se scrivi
    
       dipendente *attuale = ottieniDipendente(dipendenti, "bianchi");
    
    quello che cerchi è puntato dalla variabile che hai chiamato

    attuale

    Quindi
    
       printf("%s %d %d", attuale->cognome, attuale->anni, attuale->stipendio);
    
  • Re: Linguaggio C, struct e array di struct

    Ora ho capito, grazie! Però non mi stampa nulla, puoi dare un'occhiata al codice?
    Grazie.

    funzione.c
    dipendente* ottieniDipendente(dipendente dip [], char * cognome)
    {
    	int i = 0; //indice di scorrimento
    	while(i < N_DIP)
    	{
    		if(strcmp(dip[i].cognome, cognome) == 0)
    			return &dip[i];
    	}
    }
    main.c
    
    .....
    dipendente *attuale = ottieniDipendente(dipendenti, "bianchi");
    	
    printf("Cognome: %s \n Anni: %d \n Stipendio: %d", attuale->cognome, attuale->anni, attuale->stipendio);
    	
  • Re: Linguaggio C, struct e array di struct

    Davide ... ma scusa ... quel ciclo come va avanti? Non credi che manchi qualcosa? E in secondo luogo, se il dato non viene trovato, cosa restituisce la funzione? E nel main, dove sta il controllo che il puntatore restituito sia valido?
  • Re: Linguaggio C, struct e array di struct

    Sorry, ho postato il codice sorgente vecchio, non ci ho fatto caso!
    Ora funziona.
    Inserirò anche i controlli che mi hai detto. Grazie!!!
Devi accedere o registrarti per scrivere nel forum
22 risposte