Visualizzazione dei risultati da 1 a 9 su 9

Discussione: [C] typedef e struct

  1. #1

    typedef e struct (Linguaggio C)

    Salve a tutti vorrei chiedere:

    1) Qual' è la differenza tra le due strutture seguenti?

    typedef struct {
    int value;
    char name[20];
    } part;

    struct part {
    int value;
    char name[20];
    };

    2) A che serve typedef? Ho letto qualcosa su internet ma non capisco la vera utilità di questo costrutto...

  2. #2
    Viste i frequenti dubbi, su questione anche molto semplici, la domanda sorge spontanea: da dove stai studiando il linguaggio C?

    Ti consiglio caldamente di abbandonare qualsiasi tipo di risorsa presente sul web: spesso vengono trattati gli argomenti in modo superfluo, e talora con esempi del tutto scorretti o con soluzioni deprecate da tempo.
    Per affrontare uno studio serio, profondo e completo del linguaggio C segui questa bibliografia, e le indicazioni in essa riportate.
    "Memento audere semper"

    IBM Europe - Italy Group

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Concordo con Hard*RTOS ... per imparare a programmare in C i costrutti di base si affrontano con i libri, non sul web e tanto meno con delle risposte in un forum.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  4. #4
    Ho svolto un esame e chiedevo aiuto nel sapere se ho dato risposte corrette o meno... Lo so che sono semplici, sto studiando dal libro "Corso completo di programmazione" Apogeo di Deitel e Deitel... Cerco anche risposte in un forum come HTML.it dato che ci sono persone competenti in questo campo e se non è chiara una cosa invece che perdere tempo a cercare su internet e provare e riprovare, preferisco risposte immediate del forum a problemi che riscontro personalmente dato che il tempo è quello che è e cercare me ne ruberebbe altro... Questo perchè non avevo capito bene dal libro e speravo in una risposta più semplice e concreta...

    comunque HARD sono andato su quel link ma non mi i fa accedere grazie comunque del consiglio...

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da Cyber-X91!
    non mi i fa accedere
    Aggiungi il : dopo http
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #6
    ok grazie

  7. #7
    In ogni caso, come troverai scritto sul tuo libro, il typedef serve a creare degli alias per altri tipi. L'idioma del "typedef struct { ... }" è una "espressione idiomatica del C" dovuta al fatto che se dichiari una struct "normalmente":
    codice:
    struct nomestruct
    {
        int a;
    };
    poi per usarla devi sempre scrivere sempre "struct nomestruct", dato che in C le struct "vivono" in un namespace diverso rispetto agli altri nomi. Per alleggerire la notazione, spesso si fa invece:
    codice:
    typedef struct
    {
        int a;
    } nomestruct;
    che dichiara "nomestruct" come alias della struct anonima "struct { int a; }"; dato che nomestruct ora non è inteso come nome dato ad una struct, ma come typedef, non serve più specificare "struct nomestruct" quando lo si vuole usare (anzi, è un errore), ma basta "nomestruct".
    Amaro C++, il gusto pieno dell'undefined behavior.

  8. #8
    Grazie per la veloce, sintetica e chiara risposta

  9. #9
    Amaro C++, il gusto pieno dell'undefined behavior.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.