Les doubles pointeur en c
judeoleborgne
Messages postés
7
Date d'inscription
Statut
Membre
Dernière intervention
-
Hxyp Messages postés 401 Date d'inscription Statut Membre Dernière intervention -
Hxyp Messages postés 401 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j ai un gros probleme cela fait quelque jour que je rame sur un tableau double pointeur.
int i = 0,**PPTAB[5]={0},*PTEMP = NULL,x=0;
while(i<=5)
{
*PPTAB[i] = (int *) malloc(6*sizeof(int));
i++;
}
i = 0;
printf("allocation ok \n");
while (i<=5)
{
PTEMP = *PPTAB[i];
x=0;
while(x<=6)
{
*PTEMP = 0;
x++;
}
i++;
}
printf("mise a zero ok \n");
i = 0;
x = 0;
while (i<=5)
{
PTEMP = *PPTAB[i];
x=0;
gotoxy(i*5+1,1);
printf("tableau %d",i);
while(x<=6)
{
gotoxy(i*5+1,x+1);
printf("%d",*PTEMP);
x++;
}
i++;
}
voici mon code l idee c est de creer 5 tableau assigner en memoire par malloc, de mettre toute les valeur a 0, de les afficher et de les supprimer mais il plante a l allocation j ai beau chercher je ne trouve aucun post traitant ce sujet auriez vous une idee?
j ai un gros probleme cela fait quelque jour que je rame sur un tableau double pointeur.
int i = 0,**PPTAB[5]={0},*PTEMP = NULL,x=0;
while(i<=5)
{
*PPTAB[i] = (int *) malloc(6*sizeof(int));
i++;
}
i = 0;
printf("allocation ok \n");
while (i<=5)
{
PTEMP = *PPTAB[i];
x=0;
while(x<=6)
{
*PTEMP = 0;
x++;
}
i++;
}
printf("mise a zero ok \n");
i = 0;
x = 0;
while (i<=5)
{
PTEMP = *PPTAB[i];
x=0;
gotoxy(i*5+1,1);
printf("tableau %d",i);
while(x<=6)
{
gotoxy(i*5+1,x+1);
printf("%d",*PTEMP);
x++;
}
i++;
}
voici mon code l idee c est de creer 5 tableau assigner en memoire par malloc, de mettre toute les valeur a 0, de les afficher et de les supprimer mais il plante a l allocation j ai beau chercher je ne trouve aucun post traitant ce sujet auriez vous une idee?
A voir également:
- Les doubles pointeur en c
- Pointeur souris - Guide
- Curseur Windows 10 : comment bien voir la souris à l'écran - Guide
- Supprimer les photos en double sur pc - Guide
- Le pointeur de mon pc portable ne marche plus - Guide
- Comment mettre en double ecran - Guide
1 réponse
Bonjour,
Si vous voulez créer 5 tableaux de 6 int chacun :
après il vous suffit d'utilisé PPTAB comme si c'était un tableau 2D int PPTAB[5][6];
Si vous voulez créer 5 tableaux de 6 int chacun :
int **PPTAB,i; PPTAB=malloc(sizeof(int*)*5); /* PPTAB devient un tableau de 5 pointeurs int* */ for(i=0;i<5;i++){ PPTAB[i]=malloc(sizeof(int)*6); /* on alloue 6int et on met l'adresse dans le ptr du tableau */ }
après il vous suffit d'utilisé PPTAB comme si c'était un tableau 2D int PPTAB[5][6];