[Debutant]Allocation de mémoire
bonjour
au bout d'un moment d'utilisation, mon programme plante.
je suppose que celà vient d'un problème d'allocation de mémoire
voici le principe de mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
void fonctionX (char ** chaine) {
// traitement
// ...
// le but ici est de supprimer le premier caractère de la chaîne
(*chaine)++;
}
void main (void) {
char * Trame1 = (char*) malloc(10000*sizeof *Trame1);
do {
// traitement
// ...
fonctionX(&Trame1 );
} while (conditionY); |
Je me dit qu'à force de décaller l'adresse de ma chaine, j'arrive dans une zone mémoire non allouée et que mon programme plante à ce moment là.
est ce possible ?
est ce que je peux résoudre mon probleme en effectuant un realloc dans "fonctionX" ?
quelle est la syntaxe exacte pour la réalocation d'une chaine à partir de son pointeur (si je suis pas clair, comment réallouer "chaine" dans ma fonction "fonctionX") ?
merci pour vos réponses ! :)