forse sbaglio ma..
codice:
struct msgbuf1 {
long mtype;
char mtext[100];
int pid;
} *sndbuf, rcvbuf;
uno dei 2 è puntatore, l'altro no...
con le strutture non va usato il dereference se non è allocata in heap, quindi l'uso da fare sarebbe corretto
rcvbuf.pid;
a meno che la struttura non sia allocata con qualcosa del genere
rcvbuf* pippo = (rcvbuf*) malloc(sizeof(rcvbuf));
che non mi pare il caso.
prova a fare cosi'
codice:
struct msgbuf1 {
long mtype;
char mtext[100];
int pid;
};
//main
msgbuf a;
a.pid= 3;
printf ("%d",a.pid);
e vedi cosa ti viene fuori
spero di non aver detto boiate