|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Dec 2001
Città: Partinico(PA)-Torino
Messaggi: 2885
|
doppio puntatore in C...
Qualcuno potrebbe chiarirmi questo dubbio?
Dunque quando in c bisogna sempre usare il doppio puntatore e perchè? x esempio quando faccio l'inserimento in una lista o in un albero perkè nn si può usare un puntatore normale? faccio un esempio: int insert(LISTA **head, SQUADRA buffer) { LISTA *paus,*punt; if((paus=(LISTA *)malloc(sizeof(LISTA)))==NULL) return 0; paus->etichetta=buffer; if(*head==NULL){ paus->next=NULL; *head=paus; } else{ punt=*head while(punt->next!=NULL) punt=punt->next; paus->next=NULL; punt->next=paus; } return 1; questa procedura funziona bene se uso un puntatore normale nn inserisce nulla,anke se il compilatore non da errore... Ringrazio in anticipo coloro i quali risponderanno.
__________________
Main: Barton 2500@3200+ Asus A7N8X-dlx 2*512 DDRPowercolor 9800Pro Maxtor 80GB sATA + Seagate 160GB pATA LCD Acer AL1721 Epson C62 Antec T.P. 430w Tin.it ADSL Muletto: Pentium4 1800 Notebook: Idea Progress P4 Auto e moto d'epoca
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Il doppio puntatore serve quando la funzione a cui si passa il puntatore modifica il puntatore che gli viene passato...
Un esempio... Codice:
void f(int **p)
{
*p = NULL;
}
void f2(int *p)
{
p = NULL;
}
int main()
{
int a, *b;
b = &a; //b punta ad a
f2(b);
//b punta ancora ad a perchè viene modificato solamente
//il valore locale di p all'interno di f2 (perchè p viene passato per valore)
f(&b);
//ora b punta a NULL
return 0;
}
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Dec 2001
Città: Partinico(PA)-Torino
Messaggi: 2885
|
thank you,very much.
FORZA AZZURRI!
__________________
Main: Barton 2500@3200+ Asus A7N8X-dlx 2*512 DDRPowercolor 9800Pro Maxtor 80GB sATA + Seagate 160GB pATA LCD Acer AL1721 Epson C62 Antec T.P. 430w Tin.it ADSL Muletto: Pentium4 1800 Notebook: Idea Progress P4 Auto e moto d'epoca
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 13:48.










Main: Barton 2500@3200+ Asus A7N8X-dlx 2*512 DDRPowercolor 9800Pro Maxtor 80GB sATA + Seagate 160GB pATA LCD Acer AL1721 Epson C62 Antec T.P. 430w Tin.it ADSL Muletto: Pentium4 1800 Notebook: Idea Progress P4 








