Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Struct
Forum - C/C++ - Struct

Avatar
Pitagora (Member)
Expert


Messaggi: 367
Iscritto: 12/06/2010

Segnala al moderatore
Postato alle 22:25
Lunedì, 12/07/2010
Salve,
non ho capito bene le strutture in C. So che le strutture possono racchiudere più elementi anche di diverso tipo. Non ho capito solamente l'istanza di una struttura. Esempio:

Codice sorgente - presumibilmente C/C++

  1. struct impiegato {
  2.           char nome[22];
  3.           char cognome[22];
  4. } lavoro; /* a che serve: lavoro ? */


PM Quote
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2765
Iscritto: 21/09/2007

Segnala al moderatore
Postato alle 22:55
Lunedì, 12/07/2010
Testo quotato

Postato originariamente da Pitagora:

Salve,
non ho capito bene le strutture in C. So che le strutture possono racchiudere più elementi anche di diverso tipo. Non ho capito solamente l'istanza di una struttura. Esempio:

Codice sorgente - presumibilmente C/C++

  1. struct impiegato {
  2.           char nome[22];
  3.           char cognome[22];
  4. } lavoro; /* a che serve: lavoro ? */




mi sa che quella dichiarazione è a metà tra due modi diversi:

Codice sorgente - presumibilmente C/C++

  1. struct lavoro {
  2.     char nome[22];
  3.     char cognome[22];
  4. };



e

Codice sorgente - presumibilmente C++

  1. typedef struct impiegato {
  2.     char nome[22];
  3.     char cognome[22];
  4. } lavoro;



il primo metodo è C++ il secondo è C.

quello che appare dopo la } è l'alias del tipo vero e proprio. quindi sia in C++ che in C scrivi

lavoro lav;

lav.nome
lav.cognome


PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 10:59
Martedì, 13/07/2010
Testo quotato

Postato originariamente da Pitagora:

Salve,
non ho capito bene le strutture in C. So che le strutture possono racchiudere più elementi anche di diverso tipo. Non ho capito solamente l'istanza di una struttura. Esempio:

Codice sorgente - presumibilmente C/C++

  1. struct impiegato {
  2.           char nome[22];
  3.           char cognome[22];
  4. } lavoro; /* a che serve: lavoro ? */




Un attimo ... o HeDo sì è confuso o non ho capito la sua risposta.

In questo caso

lavoro

è una variabile di tipo struct impiegato.

E' come se avessi scritto

struct impiegato {
          char nome[22];
          char cognome[22];
};

struct impiegato lavoro;

e quindi utilizzabile con

lavoro.nome
lavoro.cognome

Altra cosa è utilizzare il typedef, in cui si crea un nuovo tipo di dati.


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2765
Iscritto: 21/09/2007

Segnala al moderatore
Postato alle 11:06
Martedì, 13/07/2010

si sorry son fuso, è come dichiarare già un'istanza di quella struttura nella sua dichiarazione... vedi cosa succede a fare 10 ore di ripetizioni di info1 alla settimana su C, mi vanno insieme le cose :D

PM Quote
Avatar
Pitagora (Member)
Expert


Messaggi: 367
Iscritto: 12/06/2010

Segnala al moderatore
Postato alle 20:42
Martedì, 13/07/2010
ok grazie ragazzi ho capito !!

PM Quote