le code follwing est exécuté avec succès ...doutes en chambre double pointeur en C
typedef struct _s
{
int *r;
}s;
void main()
{
s *u;
int y=1000;
u=malloc(sizeof(s)*8);
u->r=malloc(sizeof(int)*8);
u->r[5]=y;
printf("%d\n",u->r[5]);
getch();
}
mais j'écrire le code follwing comme ci-dessus mais donne l'erreur .... j'utiliser la structure ..... peut pourquoi je connais la raison ...? si j'utilise double pointeur comme (... e ** h ...) produit une sortie correcte ... mais la raison est ...?
typedef struct _e
{
int r;
}e;
typedef struct _s
{
e *h;
}s;
void main()
{
s *u;
int y=1000;
u=malloc(sizeof(s)*8);
u->h=(e*)malloc(sizeof(e)*10);
u->h[1]=y;
printf("%d\n",u->h[1]);
getch();
}