Pointeur et liberation de memoire

Signaler
Messages postés
56
Date d'inscription
vendredi 18 mai 2001
Statut
Membre
Dernière intervention
13 décembre 2005
-
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
-
Salut,

J'avais un probleme apres que je liberais de la memoire allouer a un pointeur, le message "Null pointer assignment" m'apparaisait toujours.

Le code:

char *text;
text = (char *) malloc (sizeof(char) * 10);

strcpy(text, "abcde");

text += 2;
cout << *text;

free(text); text = 0;


Apres avoir essayer de trouver l'erreur, j'ai remarque que si je soustrait 2 a 'text', j'ai plus de "null pointer assignment".

Ma question, si on increment un pointeur est-ce qu'il faut toujours le "re-embobiner" au debut ou ce que je viens de rien ce du n'importe quoi?

Quelqu'un peut m'eclairer la dessus

Party 'till you drop !!!

1 réponse

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
Le seul truc c'est que tu dois passer a free l'adresse retournee par malloc.
char *c = text; et ainsi je deplacerai c au lieu de text pour ne pas perdre l'adresse de base.
BruNews, ciao...