I grafi

di il
37 risposte

37 Risposte - Pagina 3

  • Re: I grafi

    Ciao mi e venuto l'ennesimo dubbio:) la funzione che hai scritto alla fine è un puntatore a funzione giusto? punta ad un vettore di strutture giusto? mi chiedevo un puntatore normale diciamo ad intero punta appunto all'indirizzo dell'intero stesso cioe per meglio dire contiene il suo indirizzo, un puntatore a funzione punta sempre ad un indirizzo ma dove si trova il codice della funzione giusto? ora sei la funzione punta in un area di memoria dove si trova il vettore di struct mi chiedevo sempre che il mio raggionamento sia esatto, dove e il codice della funzione??
  • Re: I grafi

    Non ho capito un tubo di quello che hai scritto.
    Questo è una funzione che ritorna un puntatore ad un struttura (di tipo _computer ) punto, niente più niente meno.
    
    _computer * TrovaPc(int codice_pc);
    
    Ritorna un puntatore del tipo _computer ovvero l'inidirizzo dove si trova il PC con il codice passato come parametro alla funzione.

    Lo svolgimento della funzione è come sempre quello tra le parentesi grafe.
  • Re: I grafi

    Si ma TrovaPc(int codice_pc); è una funzione giusto?' cioeè se abbiamo int*p , p e un puntatore a intero ma nel nostro caso abbiamo una funzione che punta ad una struttura
  • Re: I grafi

    Una funzione non punta, una funzione ritorna qualcosa. Quel qualcosa nel nostro caso è un puntatore ad una struttura.
  • Re: I grafi

    Ciao dunque mi si e presentato un altro problema cerco di andare per gradi altrimenti non riesco a spigarmi .
    Allora se ho una struct
    struct studente
    {
    int matricola;
    string nome;
    string cognome;
    };
    quando alloco la memoria con new viene riservato uno spazio per contenere matricola, uno per la stringa ed uno per l'altra ok e poi per accedervi usero' l'identificatore seguito da -> fin qui ok ma se nella struct ho anche
    un puntatore per esempio studente *ptr so che magari cosi nn ha senzo ma e solo per esempio ritornando all'allocazione qui cosa succede?? sarà allocato lo spazio per contenere il puntatore? come? E se poi questa istanza alla memoria (studente*ptr) e allocata da un altra parte come faccio ad accedervi? cioe non posso usare la notazione ->
  • Re: I grafi

    
    struct studente
    {
    int matricola;
    string nome;
    string cognome;
    studente *next;
    }; 
    
    Ad ogni new viene allocato lo spazio anche per il puntatore. Esempio.
    
    studente *ptr1 = new studente;
    studente *ptr2 = new studente;
    ptr1->next = ptr2;
    
    nell'utima riga abbiamo fatto il collegamento tra due strutture.
  • Re: I grafi

    Tornando al nostro vettore di struct se voglio collegare al primo elemento del vettore l'esima struct la lista degli adiacenti come faccio mi spiego meglio se devo costruire una lista quando devo aggiungere il nuovo noto faccio lo scambio dei puntatori ma nel caso del vettore mi confonde anche perché inserendo un secondo nodo questo diventerebbe in pratica il primo quindi col vettore come è'?
  • Re: I grafi

    Cioe se la mia struct computer è
    struct computer
    {
    int codice;
    int memoria ram,
    hd*hard-disk-installati;
    bool modem;
    };
    che sarebbe l'iesima struct del vettore v posso scrivere v->hard-disk-installati=new cosa???
Devi accedere o registrarti per scrivere nel forum
37 risposte