Bonjour
J'ai un petit souci dans un programme en C. Je veux passer un tableau à deux dimensions (char**) à une fonction qui lui alloue dynamiquement de la mémoire, mais lorsque j'essaie de lire dans ce tableau via une autre fonction, ou par le main, il me donne un erreur de segmentation.
A noté que je dois passer les tableaux aux fonctions par référence...
Voici le code :
Fichier du main
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 #include <stdio.h> #include "fonctions.h" #define TAILLEG 10 int main(){ int i,j; char **tabJ1Bat; initTab(tabJ1Bat, TAILLEG); //il semble que l'erreur vienne de l'appel à cette fonction affTab(tabJ1Bat, TAILLEG); return 0; }
Fichier des fonctions
Code:
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 #include <stdlib.h> #include <stdio.h> #define EAU '~' void initTab(char **tab, int taille){ int i,j; tab = (char**) calloc (taille,sizeof(char*)); for(i=0;i<taille;i++) { tab[i]=(char*)calloc(taille,sizeof(char)); for(j=0;j<taille;j++) { tab[i][j] = EAU; } } } void affTab(char **tab, int taille){ int i,j; char car; for(i=0;i<taille;i++) { for(j=0;j<taille;j++) { car = tab[i][j]; printf("%c",car); } } }
Merci d'avance de votre aide!