fonction d'allocation memoire "générique"
Bonjour,
J'aimerais utiliser une seule fonction pour allouer de la mémoire à des tableaus de types primitifs (int, char, ...) qu'on passe en paramètre. J'aimerais savoir si ma manière de faire ne pose pas de problème dans certains cas. (Dans mon cas, j'ai juste des warnings et pas de problème d'execution)
Voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
int ** mat;
void allocate(void **obj)
{
int i;
obj = malloc(N*sizeof obj);
printf("tout va bien\n");
/*for(i=0; i<N; i++)
{
obj[i]=malloc(sizeof obj)
}*/
}
int main()
{
allocate(mat);
return 0;
} |
voici la commande de compilation :
Code:
gcc -Wall -pedantic -C99 -o test test.c
voici le warning que j'obtien:
Code:
1 2 3 4 5 6
| gcc: unrecognized option '-C99'
test.c: In function allocate:
test.c:9: warning: unused variable i
test.c: In function main:
test.c:20: warning: passing argument 1 of allocate from incompatible pointer type
test.c:7: note: expected void ** but argument is of type int ** |
et voici le resultat:
Merci d'avance pour votre aide.