[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