salut,

voilà si j'alloue un char * avec la fonction malloc comme suit :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
char* final_result = (char*)malloc(4);
et que je survole en mode débug ma variable, j'observe ca :

IIIIyyyy1

(les I et les y ont des accents aigues)
je comprend bien que j'alloue de la mémoire seulement, donc les données sont pipo, mais pourquoi autant de caractères, vu que j'en ait demandé 4 seulement?


Ma seconde question : j'alloue dynamiquement un char* pour rentrer N char dedans. Est-ce que je dois allouer pour N+1 en rajoutant à la fin le caractère nul 0x00? ou est-ce que ca peut le faire sans ?

MErci pour vos réponses
++