Erreur pointeur de pointeur de char en C
Résolu
perato
-
perato -
perato -
Bonjour,
j'ai fait le code suivant et pour une raison inconnue que test[0] n'affiche plus "ok" alors que je n'y touche pas.
Pourtant j'ai remarque avec printf que la valeur du pointeur test[0] ne change pas.
En plus j'ai aussi remarque que test[0] affichait bien "ok" jusqu'au moment où test[1] est alloué.
j'ai fait le code suivant et pour une raison inconnue que test[0] n'affiche plus "ok" alors que je n'y touche pas.
int main() { char **test = malloc(1); test[0] = malloc(3); test[0][0] = 'o'; test[0][1] = 'k'; test[0][2] = '\0'; printf("%p\n", test[0]); puts(test[0]); // affiche ok test = realloc(test, 2); test[1] = malloc(3); // a partir de cette instruction puts(test[0]) affiche une chaîne bizzare test[1][0] = 'o'; test[1][1] = 'k'; test[1][2] = '\0'; printf("%p\n", test[0]); // le pointeur n'a pas changé de valeur puts(test[0]); // affiche une chaîne bizzare }
Pourtant j'ai remarque avec printf que la valeur du pointeur test[0] ne change pas.
En plus j'ai aussi remarque que test[0] affichait bien "ok" jusqu'au moment où test[1] est alloué.
A voir également:
- Erreur pointeur de pointeur de char en C
- Pointeur souris - Guide
- Curseur Windows 10 : comment bien voir la souris à l'écran - Guide
- Le pointeur de mon pc portable ne marche plus - Guide
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
1 réponse
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour,
peux-tu partager ce qui est affiché? peux-tu aussi afficher le second pointeur?
Peux-tu supprimer les lignes 14 à 16?
peux-tu partager ce qui est affiché? peux-tu aussi afficher le second pointeur?
Peux-tu supprimer les lignes 14 à 16?
Et d'adapter également la ligne 12.