Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    [C]Cosa nn va in questa struttura???

    HO questa struttura:
    codice:
     
    /* La struttura delle informazioni */
    struct info {
    /* Il nome del programma*/
    char *nomeprog;
    /* La versione del prog*/
    char *version;
    /**/
    };
    struct info *informazioni;
    informazioni->nomeprog="Lucas Files Editor";
    informazioni->version="0.2 ALPHA";
    Ma mi da errore nel segno ->, come mai?
    Se in un primo momento l'idea non è assurda, allora non c'è nessuna speranza che
    si realizzi
    .
    Os: WinME
    Lang: C++
    Editor: C++ Builder 6 Enterprise

  2. #2
    ma non è che ci vuole il punto?
    [Homepage] [Contattami]
    Powered by: Ubuntu - Debian - Gentoo
    Developing: Java - C++ - PHP

    [supersaibal]"Perchè tanto Debian è meglio"
    [/supersaibal]

  3. #3
    Originariamente inviato da virusbye
    ma non è che ci vuole il punto?
    mi da errore lo stesso
    Se in un primo momento l'idea non è assurda, allora non c'è nessuna speranza che
    si realizzi
    .
    Os: WinME
    Lang: C++
    Editor: C++ Builder 6 Enterprise

  4. #4
    secondo me c'entrano i puntatori...

    prova a smanettare un po' con puntatori e riferimenti

    (scusa, ma sono molto arrugginito!!!!)
    [Homepage] [Contattami]
    Powered by: Ubuntu - Debian - Gentoo
    Developing: Java - C++ - PHP

    [supersaibal]"Perchè tanto Debian è meglio"
    [/supersaibal]

  5. #5
    porka paletta.....

    con il GCC sotto Mandrake 8.2 va, con Dev C++ 4 su Win nn va
    Se in un primo momento l'idea non è assurda, allora non c'è nessuna speranza che
    si realizzi
    .
    Os: WinME
    Lang: C++
    Editor: C++ Builder 6 Enterprise

  6. #6
    Utente bannato
    Registrato dal
    Apr 2002
    Messaggi
    546
    /* La struttura delle informazioni */
    struct info {
    /* Il nome del programma*/
    char *nomeprog;
    /* La versione del prog*/
    char *version;
    /**/
    };
    struct info *informazioni;
    informazioni-> "Lucas Files Editor";
    informazioni-> "0.2 ALPHA";


    prova così

  7. #7
    Originariamente inviato da steno12

    codice:
    /* La struttura delle informazioni */
    struct info {
    /* Il nome del programma*/
    char *nomeprog;
    /* La versione del prog*/
    char *version;
    /**/
    };
    struct info *informazioni;
    informazioni-> "Lucas Files Editor";
    informazioni-> "0.2 ALPHA";
    Ma cosa inizializzo cosi?
    Se in un primo momento l'idea non è assurda, allora non c'è nessuna speranza che
    si realizzi
    .
    Os: WinME
    Lang: C++
    Editor: C++ Builder 6 Enterprise

  8. #8
    Utente bannato
    Registrato dal
    Apr 2002
    Messaggi
    546
    #include <iostream.h>
    struct info
    {
    char *version;
    char *nomeprog;
    };

    int main()
    {
    info dog1, dog2;

    dog1.version = "Lucas Files Editor";
    dog2.nomeprog = "0.2 ALPHA";

    cout << "Il valore di version e' " << dog1.version << "\n";
    cout << "Il valore di nomeprog e'" << dog2.nomeprog << "\n";

    return 0;
    }


    non so cosa devi fare, ma questo è un esempio corretto e concreto di struttura.

    un costrutto struct serve per definire delle variabili, tipo il typedef del vb, definite dall'utente ed è simile alla classe, che io uso di più in c++


    link
    homepage http://%77%77%77%2e%74%77%6f%72%6b%2e%69%74/
    forum http://%77%77%77%2e%74%77%6f%72%6b%2...um/default.asp

  9. #9

    La Sintassi è Corretta

    non ci sono errori nel codice
    quindi deve funzionare con qualunque compilatore
    L'uso dei puntatori è corretto secondo lo
    standard ANSI-C che narra:
    1)char * pC="Mi chiamo hmesfet";
    "...." stringa costante il suo indirizzo in memoria
    è fissato dal compilatore,il suo contenuto
    non puo' cambiare è costante
    2)struct pinco
    {
    /*bla bla bla*/
    };
    struct pinco* Ps;
    Ps->campo_puntatore_char="Ciao Mamma";
    /* assegnazione corretta oppure*/
    (*Ps).campo_puntatore_char="Ciao Mamma";
    /*Secondo lo standard ANSI-C sono entrambe forme
    corrette di assegnazione*/

    CONSIGLIO:LEGGERE E CAPIRE TUTTO IL "KERNIGHAN E RITCHIE"
    POI COMINCIARE A PROGRAMMARE IN C,VEDRETE CHE
    IL COMPILATORE NON SI ARRABBIERA' PIU' PER
    I MALTRATTAMENTI SUBITI
    BYE BYE

  10. #10
    codice:
    /* La struttura delle informazioni */
    struct info {
    /* Il nome del programma*/
    char *nomeprog;
    /* La versione del prog*/
    char *version;
    /**/
    };
    struct info *informazioni;
    informazioni->nomeprog="Lucas Files Editor";
    informazioni->version="0.2 ALPHA";
    Sintatticamente è tutto corretto. Gli unici problemi potrebbero (dovrebbero) sorgere a run-time, visto che 'informazioni' punta ad una zona casuale della memoria, dal momento che non hai allocato la memoria da puntare. Perciò:

    codice:
    /* La struttura delle informazioni */
    struct info {
    /* Il nome del programma*/
    char *nomeprog;
    /* La versione del prog*/
    char *version;
    /**/
    };
    struct info *informazioni = ( struct info* ) malloc( sizeof( struct info ) );
    informazioni->nomeprog="Lucas Files Editor";
    informazioni->version="0.2 ALPHA";
    free( informazioni );
    Ciao.

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.