Prime armi

di il
5 risposte

Prime armi

Nodo_tmp_ptr->left = new_nodo_ptr;

Che significa l operatore " -> "
Grazie

5 Risposte

  • Re: Prime armi

    Assegna un puntatore ad un elemento della struttura.
    Esempio:
    
       struttura->elemento=...
          // Equivale a :
       (*struttura).elemento=...
    
    Saluti,
    Max
  • Re: Prime armi

    Grazie
    Mi potresti aiutare a capire cosa fa questo codice??
    Se mi puoi aiutare commentando alle righe..
    ....
    nodo_t *nodo_ptr = NULL;
    nodo_t *nodo_tmp_ptr = NULL;
    nodo_t *new_nodo_ptr = NULL;

    ...
    .....
    while(nodo_ptr != NULL){

    nodo_tmp_ptr = nodo_ptr;

    if(strncmp(pp->targa, nodo_ptr->targa, LTARGA) < 0)
    nodo_ptr = nodo_ptr->left;
    else
    nodo_ptr = nodo_ptr->right;

    }

    /* Creo il nuovo nodo da aggiungere all'albero */
    new_nodo_ptr = malloc(sizeof(nodo_t));
    strncpy(new_nodo_ptr->targa,pp->targa,LTARGA+1);
    new_nodo_ptr->left = NULL;
    new_nodo_ptr->right = NULL;
    new_nodo_ptr->lint = malloc(sizeof(elem_t*));
    new_nodo_ptr->lint[0] = NULL;
    addIntervallo(new_nodo_ptr->lint,&(pp->in));

    /* Se l'albero era "vuoto" */
    if(nodo_tmp_ptr == NULL)
    *r = new_nodo_ptr;
    else{

    /* Controllo se il nuovo nodo va aggiunto al ramo destro o sinistro */
    if(strncmp(pp->targa, nodo_tmp_ptr->targa, LTARGA) < 0)
    nodo_tmp_ptr->left = new_nodo_ptr;
    else
    nodo_tmp_ptr->right = new_nodo_ptr;
  • Re: Prime armi

    Il pezzo di codice che alleghi è riferito ad un albero binario o roba simile.
    Per dei chiarimenti guarda su
    Per il resto non ho ancora la sfera di cristallo che mi dice cosa siano gli altri elementi della struttura.
  • Re: Prime armi

    Non e che volevo sapere nell'insieme cosa faceva ma nelle singole righe di codice..
    Es. questa operazione cosa fa?
    strncpy(new_nodo_ptr->targa,pp->targa,LTARGA+1);
    Non capisco il significato di tre arogomenti tra le parentesi...
    ciao
  • Re: Prime armi

    strncpy(new_nodo_ptr->targa,pp->targa,LTARGA+1);
    char * strncpy ( char * destinazione, const char * sorgente, size_t num );
    copia i primi num caratteri da sorgente a destinazione

    Ti consiglio un buon libro per le basi del linguaggio C.

    Saluti,
    Max
Devi accedere o registrarti per scrivere nel forum
5 risposte