[Tech] Domanda di C

Valerio Montagnani tech@vmontagnani.it
Ven 9 Lug 2004 11:47:34 CEST


On Fri, 9 Jul 2004 11:37:34 +0200
VM wrote:


> Definendo i due vettori come semplici *pari, *dispari funziona meglio;
> infatti i valori pari vengono correttamente estratti e inseriti nel
> vettore *pari, mentre i dispari vengono fuori a caso. 
> 

Funziona tutto se si fanno due cicli distinti: uno per i pari e uno per
i dispari.

Adesso mi viene in mente un'altra cosa.

L'elaborazione della riga:

*(pari +1) = *(buffer + 2*i);

č pių veloce di quella:

pari[i]=buffer[2*i];

o no?

Mi spiego meglio: usando l'aritmetica dei puntatori dico di far
riferimento alla locazione buffer e calcolare l'offset, mentre se uso la
seconda forma devo valutare fisicamente il contenuto di buffer[2*i]?

In altre parole usando la prima sintassi i programmi schizzano pių
velocemente (nel caso abbia vettori grossi naturalmente), o mi sbaglio?

Ciao, Vale

-- 
Valerio Montagnani        (Lug-Account)        <tech@vmontagnani.it>
              pub 1024/C7E4BC57    sub 2048g/0E170155
Key fingerprint = D5A4 EDFC 060C 5BD6 E2DD  8252 3B67 C1EB C7E4 BC57



Maggiori informazioni sulla lista flug-tech