Problemes avec pointeurs/tableaux adresses

Problemes avec pointeurs/tableaux adresses - Programmation

Marsh Posté le 26-09-2003 à 19:31:34    

j ai un tableau de pointeurs  
void *tzl[MAX_INDEX+1];
 
je veux que sa derniere case tzl[MAX_INDEX] pointe vers le debut d un tableau de caracteres
char mem_heap[HEAP_SIZE];
 
et que le debut de tableau de caracteres soit un pointeur NULL
 
je m y perds un peu avec les tableaux, les pointeurs, les * :/
 
je pensais faire tzl[MAX_INDEX] = &mem_heap
et mem_heap[0] = NULL
 
mais j ai pas encore moyen de verifier ce que ca rend

Reply

Marsh Posté le 26-09-2003 à 19:31:34   

Reply

Marsh Posté le 26-09-2003 à 19:33:18    

tzl[MAX_INDEX] = mem_heap

Reply

Marsh Posté le 26-09-2003 à 19:35:16    

y a un autre truc qui m embete... c est que mem_heap est un tableau de caracteres... et que je vais mettre des pointeurs dedans :/

Reply

Marsh Posté le 26-09-2003 à 19:36:16    

tu veux pas nous dire plutot ce que tu cherches à faire ?

Reply

Marsh Posté le 26-09-2003 à 19:37:26    

Theorie du chaos a écrit :

y a un autre truc qui m embete... c est que mem_heap est un tableau de caracteres... et que je vais mettre des pointeurs dedans :/  

nan :D
 
dans mem_heap tu mets pas des pointeurs mais des caracteres :D puiqu'il estd eclaré comme tableau de char et pas de char *


---------------
"OCPLB : On Casse Pas Le Binôme, 'moiselle Jade, Carlson & Peters, page 823 !"
Reply

Marsh Posté le 26-09-2003 à 19:40:33    

Taz a écrit :

tu veux pas nous dire plutot ce que tu cherches à faire ?

gestion de memoire avec buddy system
on m impose de faire jouer a un tableau de caracteres le role de la zone memoire...
et on me dit que la table des zones libres tzl regroupe les tetes de liste des zones libres. Je dois placer au debut de chaque zone libre (situee dans mem_heap) un pointeur vers la zone libre suivante de meme taille

Reply

Marsh Posté le 26-09-2003 à 19:55:26    

a l initialisation tous les pointeurs de tzl sont nuls sauf le dernier, qui pointe vers toute la zone mem_heap
 
en debut de mem_heap il me faut ensuite un pointeur nul, comme le tableau entier est la seule zone libre.

Reply

Marsh Posté le 26-09-2003 à 19:59:40    

en fait on veut meme pas mettre de caracteres dans le tableau :cry:
 
mais l enonce me dit de prendre ca :/

Reply

Marsh Posté le 26-09-2003 à 20:05:46    

tu veux pas réfléchir un peu plus avant de coder

Reply

Marsh Posté le 26-09-2003 à 20:09:30    

j ai l image en tete de ce que je veux coder...
et j ai les structures qu on m impose...
 
peut etre que je comprends mal mon enonce... mais j arrive pas a voir ou...

Reply

Marsh Posté le 26-09-2003 à 20:09:30   

Reply

Marsh Posté le 26-09-2003 à 20:09:51    

Theorie du chaos a écrit :

en fait on veut meme pas mettre de caracteres dans le tableau :cry:
 
mais l enonce me dit de prendre ca :/


 
en C il est "usuel" d'utiliser un ptr de type "char*" pour pointer un tableau "d'octets bruts" (même esprit que les byte[] en java). C'est sans doute pour ça que ton énnoncé préconise un char* pour désigner une zone de mémoire allouée.


Message édité par schnapsmann le 26-09-2003 à 20:10:17

---------------
From now on, you will speak only when spoken to, and the first and last words out of your filthy sewers will be "Sir!"
Reply

Marsh Posté le 26-09-2003 à 20:13:29    

SchnapsMann a écrit :


 
en C il est "usuel" d'utiliser un ptr de type "char*" pour pointer un tableau "d'octets bruts" (même esprit que les byte[] en java). C'est sans doute pour ça que ton énnoncé préconise un char* pour désigner une zone de mémoire allouée.

dans l enonce j ai exactement:
 
#define MAX_INDEX 20
#define HEAP_SIZE ((1<<MAX_INDEX)*sizeof (size_t))
char mem_heap[HEAP_SIZE]
 
ou size_t est synonyme de unsigned long

Reply

Marsh Posté le 26-09-2003 à 20:17:51    

quand on me dit de placer un pointeur au debut de ma zone libre, c'est bien dans ce tableau la?
il faut caster?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed