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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
gcc -Wall -pedantic -C99 -o test test.c
voici le warning que j'obtien:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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.