Bonjour,

voila 2 heures déjà que je suis bloqué sur un problème de compréhension des pointeurs.

Voici mes types et variables (.h) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
struct fb  
{ 
  struct fb *next ;
}; 
 
char mem_heap[HEAP_SIZE];
 
struct fb *TZL[MAX_INDEX+1];
C'est la ligne commentée qui me pose problème (.c)
A l'adresse de Zone, qui est un pointeur de structure à un champ, je stocke l'adresse suivante pour chainer des zones memoire (dans un grand tableau de char).
Une adresse est codee sur 4 octets, et je cherche donc a ecrire 4 octets plus loin la taille de la zone, sur 4 octets egalement.
Je pense que j'ai un problème de syntaxe ou de compréhension des pointeurs...

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
 size_t taille_bloc = 1;
        int indice = 0;
        struct fb *Zone = NULL;
 
if (TZL[indice] != NULL) {
                Zone = TZL[indice];
                TZL[indice] = Zone->next;
                Zone->next = NULL;
//                *(&Zone + sizeof(struct fb *)) =  taille_bloc;
                return Zone; 
        }
Merci d'avance pour vos commentaires !! :-)