Comment la mémoire partagée fonctionne-t-elle avec les tableaux?

Je ne fais qu’apprendre à propos de la mémoire partagée jusqu’à présent, tout ce que j’ai appris m’a confondu. Peut-on me dire comment la mémoire partagée gère un tableau? Et comment les processus enfants accèdent à ce tableau?

vous pouvez utiliser la méthode shmat () pour accéder à la mémoire partagée,

le shmat () syntex est

void *shmat(int shmid, const void *shmaddr, int shmflg); 

cela retournera un pointeur.

Si vous souhaitez l’utiliser comme tableau, atsortingbuez-le comme indiqué ci-dessous

 datatype array[size]; datatype* array = (datatype*)shmat(shmid, NULL, 0); 

Une zone de mémoire partagée est simplement un ensemble d’octets consécutifs dans la mémoire virtuelle, tout comme un tableau. Donc, si vous avez un pointeur sur de la mémoire partagée, vous pouvez le traiter comme un tableau, comme tout autre pointeur.