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) :
C'est la ligne commentée qui me pose problème (.c)
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];
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...
Merci d'avance pour vos commentaires !! :-)
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; }
Partager