bonsoir,
je veux allouer dynamiquement un tableau de deux dimension déclarer dans une structure. la variable nombrObjPris est dynamiquement alloué . le code est comme suit :
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
20
21
22
23
24
25
26
27
28
29
30
31
32
33
typedef struct {
 
    int **objPris;
    int **objNonPris;
}ind;
 
ind* create_ind()
 
{
    ind *p_ind; int i;
 
 
    assert(dim >= 0);
    assert(nombrObjPris  >=0 );
 
    p_ind = (ind*) chk_malloc(sizeof(ind));
 
    p_ind->objPris = (int **)malloc ( sizeof(int *)  *  dim);
    for (i=0;i<dim;i++)
     {
    p_ind->objPris[i]=(int *)malloc (sizeof(int) * nombrObjPris);
     }
 
    return (p_ind);  }
 
void main ()
{ int i,j; ind *x;
    x=create_ind();
   for(i=0;i<dim;i++)
    for(j=0;j<nombrObjPris;j++)
   {x->objNonPris[i][j]=i+j;}
   printf("%d",nombrObjPris);
}
le code ne m'affiche pas une erreur mais il m'affiche 0 pour le printf. quelqu'un peut m’aider svp