1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| #include <stdio.h>
#include <stdlib.h>
int * exemple(int taille)
{
int * ret = NULL;
if(taille > 0) {
/* allocation dans une fonction */
ret = malloc(taille * sizeof *ret);
if(ret != NULL) {
size_t i;
for(i = 0; i < taille; ++i) {
ret[i] = i*i;
}
} else {
perror("malloc");
}
} else {
fprintf(stderr, "mauvais paramètre\n");
}
return ret;
}
int main(void)
{
int * p = exemple(5)
if(p != NULL) {
size_t i;
for(i = 0; i < 5; ++i) {
printf("%d: %d\n", i, p[i]);
}
/* libération dans le main */
free(p);
}
return EXIT_SUCCESS;
} |
Partager