J'ai cette structure;C Problème de structure Problème
#define BUFSIZE 10
struct shared_data {
pthread_mutex_t th_mutex_queue;
int count;
int data_buffer_allocation[BUFSIZE];
int data_buffers[BUFSIZE][100];
};
et je veux affecter un des data_buffers pour un processus, à cette fin, j'exécute la fonction suivante;
int allocate_data_buffer(int pid) {
int i;
for (i = 0; i < BUFSIZE; i++) {
if (sdata_ptr->data_buffer_allocation[i] == NULL) {
sdata_ptr->data_buffer_allocation[i] = pid;
return i;
}
}
return -1;
}
mais le compilateur m'avertit que je compare le pointeur à une valeur. Quand je mets un &
devant sdata_ptr ça se calme mais je ne suis pas sûr que ça marchera. Ce que j'ai écrit plus haut n'est-il pas censé être vrai?
Pour que cela fonctionne comme prévu (après le correctif 'NULL'), gardez à l'esprit que vous devrez initialiser ces valeurs. – KevenK