Ciao Ragazzi,
sono alle prime armi in C e i puntatori sono la mia bestia nera..
questo è il quesito.
Ho una struttura definita globale in un file.h e nel main la includo con "include file.h" ed è di questo tipo:
typedef struct{
int Nmax;
int nsp;
double *p;
}data
Ora nel file file.c definisco una funzione di inizializzazione della mia struttura, per allocare spazio per p che è un vettore di nmax elementi:
void init_struc(data *dat)
{
dat->p=malloc(...ect ect)
for(i=0;i<nmax;i++)
dat->p[i]=0
}
Nel main main.c devo utilizzare questa struttura. E Ho un pointer *q che deve assumere il valore del pointer dat->p. Non voglio utilizzare nel main sempre dat->p percio voglio nominarlo con un puntatore *q (questo è quello che vorrei fare).
La domanda è questa..come faccio a far puntare a q lo stesso indirizzo di dat->p?
ho provato con
q=&dat->p[0]
ma ho ottengo il classico segmentation fault.
Potete aiutarmi??
Grazie a tutti