Visualizzazione dei risultati da 1 a 7 su 7

Discussione: [C]puntatore a struct

  1. #1

    [C]puntatore a struct

    Ciao a tutti!!

    mi potete spiegare come si fa un puntatore ad uno struct?

    Io ho fatto così...

    codice:
    struct ciao {
    
        int mio;
    
        char cara;
    
    }
    sopra il main...

    e nel main

    codice:
    struct ciao *a;
    Ma appena faccio per stampare il valore a cui punta il puntatore il compilatore mi da errore....

    Non è che qualcuno mi sa aiutare?...

    ciao ciaop
    "Penso che nel mondo ci sia mercato per quattro o cinque computer"... Thomas Watson, presidente della IBM, 1943

  2. #2
    Quando vai a richiamare un elemento nella struttura devi fare cosi....

    codice:
    struct {
        int num;
    } test, *sp;
    
    main() {
        sp = &test;
        printf ("Numero : ");
        scanf ("%d", &sp->num);
    
        printf ("Hai Inserito il Numero : %d", sp->num);
    }
    Se non sbaglio devi creare prima una 'struttura normale'(test)
    e poi il puntatore a 'test'
    PoWered by:
    Gentoo 1.5.3 - Kernel 2.6.7
    Debian Sid - Kernel 2.6.7 - Bash 3.0
    Slackware current - Kernel 2.6.7

  3. #3
    Utente di HTML.it L'avatar di infinitejustice
    Registrato dal
    Nov 2001
    residenza
    Barcelona
    Messaggi
    772

    Re: [C]puntatore a struct

    Originariamente inviato da I'mtheleader
    struct ciao *a;
    Ti da errore perchè *a non punta a niente, tu hai solo dichiarato un puntatore a, ma non hai indicato a chi.

    La dichiarazione di una struct equivale alla definizione di un nuovo tipo di dato, ma finche poi nn crei un oggetto di quel tipo in memoria non esiste nulla.

    O fai
    struct ciao x;
    e poi con a punti ad x...

    oppure allochi memoria dinamicamente per il puntatore
    struct ciao *a;
    if(!(a = (struct ciao *)malloc(sizeof(struct ciao))))
    abort(); //errore nell'allocazione
    Live fast. Troll hard.
    Pythonist | Djangonaut | Puppeteer | DevOps | OpenStacker | Lost in malloc
    Team Lead @Gameloft Barcelona

  4. #4
    Ok raga grazie mille adesso funziona...

    Però ho ancora un piccolo problema...

    Io il puntatore lo dichiaro ad int ma poi però essendo lo struct formato da più tipi io non sono in grado di visualizzare correttamente tutti i tipi dello struct...

    Come posso fare per risolvere questo problema?
    "Penso che nel mondo ci sia mercato per quattro o cinque computer"... Thomas Watson, presidente della IBM, 1943

  5. #5
    Come il puntatore lo dichiari a int ???
    Il puntatore e' di tipo struttura
    PoWered by:
    Gentoo 1.5.3 - Kernel 2.6.7
    Debian Sid - Kernel 2.6.7 - Bash 3.0
    Slackware current - Kernel 2.6.7

  6. #6
    Utente di HTML.it L'avatar di Invio
    Registrato dal
    Sep 2003
    Messaggi
    60
    ma il puntatore non è int in questo caso è puntatore a struct

    test.num;

    con puntatore struct visualizzi num


  7. #7
    asso adesso ho capito....

    Grazie mille a tutti quanti!! :metallica :metallica
    "Penso che nel mondo ci sia mercato per quattro o cinque computer"... Thomas Watson, presidente della IBM, 1943

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.