Dans le programme C, s'il y a des mémoires allouées dynamiquement restées non libérées après l'exécution du programme de sortie avec exit(100);
, avons-nous des problèmes de fuites de mémoire? Par exemple:Des fuites de mémoire se produisent si exit (code de sortie) dans C?
int main (void) {
char str1[] = "Hello World"
char *str2;
str2 = malloc(strlen(str1 + 1));
if (str2)
exit(101); // memory leaks?
free(str2);
return 0;
}
Cela peut dépendre de votre système d'exploitation, mais la réponse est non – Sergio
Le système d'exploitation ne sera probablement pas. Votre * processus * le fait pendant ce bref instant avant qu'il ne se termine réellement. Je suppose que tout le problème est probablement un problème beaucoup plus important que celui que vous allez rencontrer. – WhozCraig