[Tech] C e struct

Claudio Kutufà claudiok@nexusfi.it
Gio 15 Lug 2004 13:14:23 CEST


Non mi è molto chiaro, forse perchè io ho un po' di idiosincrasia con i 
puntatori, ma è un problema mio... per debuggare il tutto, prova un attimo 
ad assegnare dentro fvector un valore alle celle assegnate, ad esempio 
tutte uguali ad 1, e poi, nel main appena lanciata la funzione fvector, fai 
stampare il contenuto, così vedi se tutto viene almeno passato 
correttamente. Poi fammi sapere, intento gli dò un'occhiata un po' più 
approfondita. Se fra un po' scompaio è a causa di una riunione che sta per 
iniziare

ciao
Cla

At 12.27 15/07/04 +0200, you wrote:
>Ciao a tutti.
>Sono sempre dietro la questione delle struct.
>Ho provato a definire un tipo per i numeri complessi tramite una struct
>e vorrei che ai membri della struttura fossero associati dei valori
>prelevati da un vettore. Solo che la cosa non funziona. Questo è il
>codice:
>
>typedef struct {
>   float *Re;
>   float *Im;
>} complex;
>
>float *dati;
>int i;
>complex c;
>
>float *fvector(int size) {
>   float *p;
>   p=(float *)calloc(size,sizeof(float));
>   if (!p) {
>     printf("ERRORI\n");
>     exit;
>   }
>   return p;
>}
>
>main() {
>   dati=fvector(12);
>   c.Re=fvector(6);
>   c.Im=fvector(6);
>
>   for (i=0; i<12; i++) {
>     dati[i]=i;
>   }
>
>   for (i=0;i<6;i++) {
>     c.Re[i]=dati[2*i];
>     c.Im[i]=dati[2*i+1];
>   }
>
>   for (i=0;i<6;i++) {
>     printf("%f %f\n",i,c.Re[i],c.Im[i]);
>   }
>
>   free(c.Re);
>   free(c.Im);
>   free(dati);
>}
>
>
>Dove sbaglio? non riesco a capire perchè i valori di c.Re[i] e c.Im[i]
>sono tutti 0.
>
>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
>_______________________________________________
>FLUG - Discussioni tecniche - tech@firenze.linux.it
>URL: http://lists.firenze.linux.it/mailman/listinfo/tech
>Archivio: http://lists.firenze.linux.it/pipermail/tech
>Ricerca nell'archivio: http://www.firenze.linux.it/search


_____________________________________________________________

Ing. Claudio Kutufa'
NEXUS SISTEMI INFORMATIVI S.P.A.
e-mail personale: claudiok@nexusfi.it
tel. cellulare: 335 5859567
Sede Oper.va : Via Dante da Castiglione, 33
Tel. : +39 055 229413 Fax : +39 055 229785
50125 Firenze - Italy
Sede Amm.va : Via Panciatichi 40/11
Tel. : +39 055 4222030 Fax : +39 055 4376670
50100 Firenze - Italy
Nexus home page: www.nexusfi.it
_____________________________________________________________




Maggiori informazioni sulla lista flug-tech