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

    [C]Struttura di struttura

    Ho avuto problemi nell'usare una struttura all'interno di un'altra struttura...
    un esempio semplicissimo e' quello che ho visto in una lezione di html.it sul linguaggio c, che ho modificata in questo modo:

    #include <stdio.h>
    #include <stdlib.h>

    typedef struct pagina
    {
    int paginaattuale;
    } t_pagina;



    typedef struct libro
    {
    char titolo[100];
    char autore[50];
    int anno_pubblicazione;
    float prezzo;
    t_pagina guida2;
    }t_libro;

    t_libro guida={"Guida al C", "Fabrizio Ciacchi", 2003, 45.2};
    t_pagina guida2={25};

    main()
    {
    printf("titolo del libro: %s \n" , guida.titolo);
    printf("valore di pagina attuale %d \n" , guida2.paginaattuale);
    printf("Pagina attuale: %d \n" , guida.guida2.paginaattuale);
    system("pause");
    }


    Ora...
    al RUN la stampa e' la seguente:
    ******************************
    Titolo del libro: Guida al C
    Valore di Pagina Attuale: 25
    Pagina attuale: 0
    ******************************

    insomma stampando il campo del valore della seconda struct tramite la prima (cioe guida.guida2.paginaattuale) mi da 0
    mentre il valore reale e' 25 (che si puo vedere dalla stampa diretta di guida2.paginaattuale)

    Insomma perche mi stampa 0???
    dove sbaglio???

    grazie mille

  2. #2
    Con l'istruzione
    codice:
    t_pagina guida2={25};
    dichiari e inizializzi la variabile guida2 con il valore 25, che è diversa dal campo guida2 della struttura libro .
    Infatti con l'istruzione
    codice:
    t_libro guida={"Guida al C", "Fabrizio Ciacchi", 2003, 45.2,25};
    otterrai il risultato desiderato . Saluti

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466

    Re: [C]Struttura di struttura

    Anche se lo ha detto King64, vorrei farti notare che l'errore (grave) e' aver considerato le due variabili come una (guida2) contenuta nell'altra (guida) mentre sono del tutto indipendenti.

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.