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 :
voici la commande de compilation :
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 le warning que j'obtien:
Code : Sélectionner tout - Visualiser dans une fenêtre à part gcc -Wall -pedantic -C99 -o test test.c
et voici le resultat:
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 **
Merci d'avance pour votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part tout va bien
Partager