Allocation dynamique du tableau a 2 dimension

Fermé
imou222 - 22 avril 2014 à 00:06
 Rinaldo - 7 juin 2014 à 16:36
Bonjour,
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 :
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
A voir également:

1 réponse

les variables dim et nombrObjPris ne semblent pas être initialisées.
De plus elles sont déclarées à l'intérieur d'une fonction (create_ind), donc valables seulement à l'intérieur de cette fonction. La fonction printf (dans la fonction main) ne peut pas les atteindre.
0