• In diretta da GamesVillage.it
    • News
    • -
    • In Evidenza
    • -
    • Recensioni
    • -
    • RetroGaming
    • -
    • Anteprime
    • -
    • Video
    • -
    • Cinema

Visualizzazione risultati da 1 a 7 di 7

Discussione: Puntatori

Cambio titolo
  1. #1

    Domanda Puntatori

    Sto studiando il c++ e volevo chiedervi un chiarimento riguardo i puntatori. Premetto che "vengo" dal php, quindi nn ho molta familiarità con queste cose.

    Allora: i puntatori, anzichè contenere il valore di una variabile, contengono un valore esadecimale che è l'indirizzo di memoria della variabile cui è riferito. Questo l'ho capito.

    La mia domanda è questa: cosa cambia tra l'utilizzo di una variabile puntatore e di una variabile normale? Perchè anzichè usare, ad esempio, la variabile int numero devo usare la variabile int *numero? Cosa cambia? Solo la gestione della memoria? E in che modo?

  2. #2
    Rivoluzionario L'avatar di Gendo Ikari
    Registrato il
    03-03
    Località
    Neo Tokyo 3
    Messaggi
    6.197
    Io non so la sintassi, ma conosco il concetto.
    Ignorando le belle definizioncine inutili e scendendo nel pratico, un puntatore non contiene un valore, ma una variabile. Tutto qui. Cosa cambia? Ti faccio un esempio.

    A) Mi serve un programma che assegni una scritta variabile e che la memorizzi.
    Non sapendo la scritta adesso, poichè varia, creo una variabile che conterrà il valore di quella scritta, che ora non esiste, ma che ci sarà.
    In questo caso uso una variabile.
    B) Mi serve un programma che assegni il valore 345 ad una variabile che non so, perchè tale variabile si deciderà in esecuzione. Che faccio? Non posso utilizzare una variabile, perchè a quale variabile assegnare 345 lo decido in esecuzione. Che faccio? Uso un puntatore. Il puntatore è UNO, ma può puntare a qualsiasi variabile.
    Quindi il valore lo assegno alla variabile (che non conosco) che è assegnata al puntatore (che conosco). Tutto si basa sul puntatore.
    Sono stato chiaro?
    Viva l'Itaglia!

  3. #3
    Utente
    Registrato il
    07-04
    Messaggi
    23
    Ti sarà chiaro quando vedrai l'uso di una struttura come una LISTA... dove non sai quale è la variabile che seguirà ma ti basta o meglio DEVI sapere "dove" è la successiva

    Certo se ti serve solo metterci un valore allora il puntatore non ti serve a nulla ma non è a quello che serve principalmente.

    I valori esadecimali sono tali soltanto perché li vedi così nel debug probabilmente... di fatto i puntatori hanno la stessa identica dimensione della "parola" del tuo computer (ka così detta "word" del computer); si tratta dell'elemento con cui il computer dialoga "naturalmente" per tanto in un pc a 32bit è ovviamente di 32bit o 4byte che dir si voglia.

    Uno dei fattori chiave dei puntatori è che permettono di "spersonalizzare" l'uso delle variabili.

  4. #4
    Utente
    Registrato il
    05-04
    Località
    Bologna
    Messaggi
    1.354
    Grazie, queste risposte potrebbero servire anche a me. In effetti i puntatori possono essere "una brutta bestia".

  5. #5
    janky
    Ospite
    Le prime volte che si utilizzano i puntatori sembra non servano a niente perchè i primi esercizi che fanno fare si potrebbero risolvere senza il loro utilizzo, come ha detto chip quando inizierete a studiare le liste le cose basilari si chiariranno molto!

  6. #6
    Utente L'avatar di devilheart
    Registrato il
    01-03
    Messaggi
    28.311
    in genere i puntatori su usano quando si ha a che fare con la gestione dinamica della memoria. cmq prova a dare un' occhiata ai prototipi delle funzioni più usate e vedrai quanti puntatori ci sono

  7. #7
    Utente
    Registrato il
    10-03
    Messaggi
    26
    I puntatori ... l'incubo numero uno dei programmatori.

    ->> Per fortuna che hanno inventato i puntatori, grazie a quelli si risolvono migliaia di problematica. Occorre solo un po di esperienza.


Regole di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •