Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di Tallid
    Registrato dal
    Jan 2009
    Messaggi
    76

    putatore a struttuara c

    Premetto chè sono alle prime armi con il linguagio c e non mi è ben chiaro l'uso dei puntatori.
    Ho una struttura Albero del seguente tipo:
    codice:
    typedef struct node{
    int key;
    struct node * left;
    struct node * right;
    } *Node;
    e voglio costruire un albero tramie la funzione
    codice:
    Node costruisci(int key,Node sx, Node dx){
           
           Node res;
           res=(Node)malloc(sizeof(Node));
           res->key=key;
           res->left=sx;
           res->right=dx;
           return res; 
    }
    e successivamente compiere una visita ordiata tramite
    codice:
    void stampaAlbertoOrdine(Node tree){
         
         if(tree==NULL)return;
         stampaAlbertoOrdine(tree->left);
         printf("%d\n",tree->key);
         stampaAlbertoOrdine(tree->right);
         return;
    }
    ma il programma crasha a causa dell'errato uso dei puntatori dove sbaglio?
    (Se avete qualche buona guida di c linkatemela grazie!)

  2. #2
    Utente di HTML.it L'avatar di linoma
    Registrato dal
    Mar 2010
    Messaggi
    1,346
    Credo che sia sbagliato sizeof(Node), alloca un puntatore.
    Per gli Spartani e Sparta usa spartan Il mio github

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Esatto ... è un puntatore ... Correggi questa

    codice:
    typedef struct node{
    int key;
    struct node * left;
    struct node * right;
    } Node, *pNode;
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  4. #4
    Utente di HTML.it L'avatar di Tallid
    Registrato dal
    Jan 2009
    Messaggi
    76
    Vi ringrazio per la risposta.
    Il problema è che questo è un esercizio assegnatoci dal professore e purtroppo la struttura Node è definita così nel testo.
    Come riesco ad allocare un Node in questo modo?
    Se creo un Node n (facendo riferimento alla struttura Node è di tipo puntatore) n è già un puntatore o devo scrivere *n?

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Originariamente inviato da Tallid
    Vi ringrazio per la risposta.
    Il problema è che questo è un esercizio assegnatoci dal professore e purtroppo la struttura Node è definita così nel testo.
    Come riesco ad allocare un Node in questo modo?
    Con

    sizeof( struct node )

    Se creo un Node n (facendo riferimento alla struttura Node è di tipo puntatore) n è già un puntatore o devo scrivere *n?
    E' un puntatore
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #6
    Utente di HTML.it L'avatar di Tallid
    Registrato dal
    Jan 2009
    Messaggi
    76
    Grazie mille

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.