Premetto che non è mia intenzione scatenare flame o guerre di religioni. Ecco la mia domanda: a cosa servono di preciso i puntatori? Non è più semplice fare le cose usando le variabili e lasciando perdere i puntatori?
Premetto che non è mia intenzione scatenare flame o guerre di religioni. Ecco la mia domanda: a cosa servono di preciso i puntatori? Non è più semplice fare le cose usando le variabili e lasciando perdere i puntatori?
Powered by Linux
"Windows cerca di fare Unix e ci riesce male, Red Hat cerca di fare Windows e ci riesce benissimo" (Jimmy Olgeni)
ma le variabili (non puntatori)Originariamente inviato da V0D
Premetto che non è mia intenzione scatenare flame o guerre di religioni. Ecco la mia domanda: a cosa servono di preciso i puntatori? Non è più semplice fare le cose usando le variabili e lasciando perdere i puntatori?
sono anch'essere indirizzi di memoria...
DYNAMIC+ [ E-mail ]
Secondo me non si può fare!
Appunto. In sostanza, a che servono sti dannati puntatori in pratica? E' meglio usarli al posto delle variabili? Perchè?
Powered by Linux
"Windows cerca di fare Unix e ci riesce male, Red Hat cerca di fare Windows e ci riesce benissimo" (Jimmy Olgeni)
Ovvio che non ha senso programmare in C senza i puntatori...i puntatori sono un argomento esteso e difficile e solo prorammando molto riesci a capirli e a capire quando servono..praticamente nel 90 % dei casi.
Esempi di cose che non possono essere fatte senza i puntatori:
- passare come argomento di una funzione una variabile per indirizzo, in modo che la funzione lavori proprio su quella variabile. In C se passi una variabile come argomento, viene creata una copia della variabile passata, e se la modifichi all'uscita dalla funzione la variabile originaria è immodificata. Se passi l'indirizzo la funzione attraverso l'indirizzo riesce ad accedere alla variabile vera e propria e non a una sua copia.
- allocare memoria dinamicamente, ad esempio array di dimensione non nota a tempo di compilazione, e strutture linkate.
- creare una variabile all'interno di una funzione e restituirla come risultato. Ad esempio, se in una funzione crei una struct e la ritorni come risultato, ciò che vine ritornato è solo una copia della variabile, non la variabile stessa, un po come nel caso di passaggio di argomenti. Se pero allochi la struct dinamicamente, questa sopravvive alla fine della funzione e puoi ritornare il puntatore alla struct
e varie altre cose.
Sun Certified Java Programmer
EUCIP Core Level Certified
European Certification of Informatics Professionals
Ok thanks everyone
Powered by Linux
"Windows cerca di fare Unix e ci riesce male, Red Hat cerca di fare Windows e ci riesce benissimo" (Jimmy Olgeni)