Problema nello Struct

di Anonimizzato8920 il
6 risposte
Ho scritto un codice tale a quale a quello in un videotutorial su youtube. Ma mi da un'errore.
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>

struct dipendente
{
   char nome[50];
   char cognome [50];
   int eta;
   char indirizzo[50];
   char paese[50];
   };


main()
{
struct dipendente dp1;

dp1.nome = "Gianni";
dp1.cognome = "Pinotto";
dp1.eta = 16;
dp1.indirizzo = "Magnolie";
dp1.paese = "Roma";
}
Se metto char nome[50];
mi da l'errore "incompatible types when assignin to type 'char[50]' from type ' char * '.

Se invece metto char nome[];
mi da l'errore "flexible array member not at end of struct.

Ma insomma dove sbaglio ? Eppure l'ho fatto tale e quale al tutorial...

6 Risposte

  • Non ti sfiora l'idea che il tutorial sia sbagliato?
    Quelle assegnazioni si fanno con la strcpy() ( strncpy() se disponibile)
    
    strcpy(dp1.nome,"Gianni");
    
  • No è escluso, anche il mio libro me lo fa vedere così. Allora per favore fatemi il favore e riscrivetemi la struct , ma non con strcpy.
  • Ecco quello giusto, alla fine ci sono riuscito
    #include <stdio.h>
    #include <stdlib.h>
    #include <conio.h>
    #include <string.h>
    
    struct dipendente
    {
       char *nome;
       char *cognome ;
       int eta;
       char *indirizzo;
       char *paese;
       };
    
    
    main()
    {
    
    struct dipendente dp1;
    
    dp1.nome = "Gianni";
    dp1.cognome = "Pinotto";
    dp1.eta = 16;
    dp1.indirizzo = "Magnolie";
    dp1.paese = "Roma";
    
    
    }
    
    Grazie lo stesso comunque.
  • Non hai risolto un bel niente. Adesso è peggio di prima. Cmq contento tu.
  • Natura,
    cambia libro, magari scegliendone uno che sia complementare al K&R (che non dovrebbe mancare). Questo ovviamente per il C

    L'esercizio può essere fatto assegnando direttamente in fase di definizione
    
    struct dipendente dp1={ 
        "Gianni","pinotto",16,"Magnolie","Roma" 
      };
    
  • Non hai risolto un bel niente. Adesso è peggio di prima. Cmq contento tu.
    No ho peggiorato la situazione me ne sono accorto dopo, purtroppo è così quando si comincia a programmare a 33 anni.
    Natura,
    cambia libro, magari scegliendone uno che sia complementare al K&R (che non dovrebbe mancare). Questo ovviamente per il C
    Ho il libro dei Deitel & Deitel, padre e figlio, normalmente si capisce bene ma chi vuole raggiungere un'obbiettivo per bene deve sbattere la testa al muro 10, 100, 1000 volte purtroppo.
    Finora ho saltato solo la ricorsione che non serve a una cippa, ma il resto l'ho fatto bene.
    Grazie Ixamit.
Devi accedere o registrarti per scrivere nel forum
6 risposte