1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| #include <stdio.h>
#include <assert.h> // assertions
int *somme (int a, int b)
{
int *c = (int *)malloc (sizeof(int));
assert (c != NULL); // si l'allocation échoue, génère une erreur puis termine le programme
*c = a+b;
return c;
}
int main()
{
int *x = NULL;
c = somme(10, 30);
printf ("somme = %d\n",*c);
free (c); // <--- Ne pas l'oublier, sinon la mémoire ne sera JAMAIS libérée (sur la plupard des OS, sous les UNIX c'est mieux géré, à part quand ça commence à planter :-/)
return 0;
} |