ringrazio entrambi, e colgo l'occasione per precisare una cosa, sul fatto che si possa anche senza thread ne sono certo ho gia' fatto mille programmi di questo tipo. Ovviamente sto parlando di una cosa limitata a unix infatti tutto questo lo implemento usando delle system call di unix.
Io il programma l'ho fatto usando due aree di memoria distinte una per ogni vettore, la mia domanda era se posso farlo usando una stessa area che poi divido nelle due variabili.
Colgo l'occasione per postare il codice con il quale prelevo le due aree
codice:
int numero = 10;
int *state;
int *prec;
shmid = shmget(MIA_CONST,(numero + 1)*sizeof(numero),IPC_CREAT|0666);
if(shmid == -1)
{
fprintf(stderr,"Impossibile prelevare memoria condivisa");
exit(1);
}
shmid2 = shmget(MIA_CONST2,(numero)*sizeof(numero),IPC_CREAT|0666);
if(shmid2 == -1)
{
fprintf(stderr,"Impossibile prelevare memoria condivisa");
exit(1);
}
state = (int *)shmat(shmid,0,SHM_RND);
prec = (int *)shmat(shmid2,0,SHM_RND);