Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    passaggio parametri tipo Struct in Function

    Salve volevo passare come argomento di una Function un parametro di una struct posto il codice:
    dichiarazione globale struct
    codice:
    struct _squadra
    {
       int player[11];
       int valore;
       int numero;
       int numvittoriesquadra;   
           };
    typedef struct _squadra Squadra;
    Function
    codice:
    void visualizza_aI (struct _squadra s, int n)
    {
         int i;
         for (i=0;i<n;i++)
         printf("squadra: n°=%d vittorie = %2d \n",i, s.numvittoriesquadra);
         }
    Main
    codice:
    Squadra array_squadra[8];
    
    printf("Array non ordinato \n");
    visualizza_aI(array_squadra,lung_numvittorie);
    quindi l'errore è questo: incompatible type for argument 1 of `visualizza_aI
    Mi sapreste dire dove sbaglio?

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,465
    Sempre alle prese con le strutture ... non le digerisci ...

    void visualizza_aI (Squadra *s, int n)

    printf("squadra: n°=%d vittorie = %2d \n",i, (s+i)->numvittoriesquadra);
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Originariamente inviato da oregon
    Sempre alle prese con le strutture ... non le digerisci ...

    void visualizza_aI (Squadra *s, int n)

    printf("squadra: n°=%d vittorie = %2d \n",i, (s+i)->numvittoriesquadra);
    Grazie ancora una volta Oregon,avevo provato con la variante del puntatore ma non conoscevo questo comando : (s+i)-> io avrei fatto s[i]->
    Ora passa al compilatore , ma quando eseguo mi ritrovo i valori di (s+i)->numvittoriesquadra
    con numeri strani a 7 cifre.. mentre se il valore è uguale a 0 vedo bene lo 0.

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,465
    Originariamente inviato da Vincenzoflamini
    Ora passa al compilatore , ma quando eseguo mi ritrovo i valori di (s+i)->numvittoriesquadra
    con numeri strani a 7 cifre.. mentre se il valore è uguale a 0 vedo bene lo 0.
    Se esegui il codice del main così come lo hai mostrato, è ovvio.

    L'array non è stato mai inizializzato e i valori che troverai sono casuali.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Originariamente inviato da Vincenzoflamini
    Grazie ancora una volta Oregon,avevo provato con la variante del puntatore ma non conoscevo questo comando : (s+i)-> io avrei fatto s[i]->
    vedi "s [i]" come una scorciatoia sintattica per "*(s+i)";
    quindi avresti potuto scrivere: "s [i]."
    ;-)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.