|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Sep 2002
Città: centro Italia
Messaggi: 1189
|
domanda su C e puntatori
volevo chiedere, quali possono essere gli utilizzi dei puntatori?
a parte il potersi costruire il passaggio per riferimento non mi viene in mente niente. (mannaggia a quando non è stato previsto il passaggio di parametri per riferimento) |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Jul 2002
Città: Milano
Messaggi: 19148
|
senza puntatori come le implementi le strutture dati dinamiche come liste, alberi ecc.?
è veramente la prima cosa che mi viene in mente pensando ai puntatori, il passaggio di parametri secondo me è secondario in confronto. |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3736
|
l'allocazione dinamica della memoria ?
|
![]() |
![]() |
![]() |
#4 |
Member
Iscritto dal: Apr 2002
Città: Salice(LE)
Messaggi: 112
|
anche i cicli for per esempio diventano più veloci
Ex char str[80], *p; p=str; int i=0; for(;*(p+i);++i) *(p+i)='c'; ![]() ![]() ![]()
__________________
meglio tacere e dar l'impressione d'esser scemi che aprire bocca e togliere ogni dubbio |
![]() |
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: Sep 2002
Città: centro Italia
Messaggi: 1189
|
Quote:
char str[80]; int i; for(i=0;i<80;i++) str[i]='c'; E comunque uso una variabile in meno, risparmiando memoria, oltre ad avere un'istruzione in meno. |
|
![]() |
![]() |
![]() |
#6 | |
Senior Member
Iscritto dal: May 2002
Città: Torino
Messaggi: 616
|
Quote:
poi... in fin dei conti... và a sapere ![]() ![]() ![]() ![]()
__________________
[INSERIRE QUI LA FIRMA] |
|
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Beh allora se lo vuoi fare prorpio veloce:
Codice:
char str[80], *p, *end; p = str; end = p + 80; while(p!=end) *(p++) = 'c'; |
![]() |
![]() |
![]() |
#8 | |
Member
Iscritto dal: Apr 2002
Città: Salice(LE)
Messaggi: 112
|
Quote:
Sul risparmio di memoria hai ragione ma se non si programmano centraline, celllari o cmq supporti con limitata RAM il metodo dei puntatori va bene per la velocità. Tiene presente che il computer meno potente ha ormai 128MB di RAM. Dipende cosa voui fare in sostanza. ![]() ![]() ![]()
__________________
meglio tacere e dar l'impressione d'esser scemi che aprire bocca e togliere ogni dubbio |
|
![]() |
![]() |
![]() |
#9 | |
Member
Iscritto dal: Apr 2002
Città: Salice(LE)
Messaggi: 112
|
Quote:
![]() ![]()
__________________
meglio tacere e dar l'impressione d'esser scemi che aprire bocca e togliere ogni dubbio |
|
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Nov 2001
Messaggi: 1205
|
I puntatori servono (anzi sono obbligatori) anche per gli array multidimensionali senza limiti di dimensioni...
Velocità: ho constato che le operazioni matriciali (per esempio una moltiplicazioni tra 2 matrici) create con i puntatori sono più veloci delle stesse (con gli stessi dati) create come "statiche". L'incremento di velocità è circa del 10 %... |
![]() |
![]() |
![]() |
#11 | |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
![]() |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 23:04.