[Tech] Domanda di C

Valerio Montagnani tech@vmontagnani.it
Ven 9 Lug 2004 10:09:54 CEST


Ciao a tutti.

Se ho un vettore di 10 di int16_t.
Lo volgio dividere in due vettori di 5 celle, in modo che il primo
vettore contenga i numeri dispari e il secondo quelli pari.
Ho pensato di usare un ciclo del tipo:

for(i=0; i<5; i++) {
  dispari[i]=buffer[2*i+sizeof(int16_t)];
  pari[i]=buffer[2*i+1+sizeof(int16_t)];
}

ma i valori che ottengo sono tutti sbagliati.

L'operazione giusta non è quella di dire al compilatore di prendere la
locazione di memoria alla posizione, per esempio 2*i e sommarci l'offset
legato alla rappresentazione del tipo di intero?

Grazie, 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