Pointeur de pointeur
Résolu
kenson72000
Messages postés
5
Statut
Membre
-
kenson72000 Messages postés 5 Statut Membre -
kenson72000 Messages postés 5 Statut Membre -
Bonjour, s'il vous plaît j'aimerai savoir quel est le problème. Le code ci-dessous n'indique aucune erreur mais ça plante lors de l'exécution du programme.
main()
{
int i,j,n;
int **a;
printf("\tEntrer la dimension de votre matrice: ");
scanf("%d",&n);
for(i=0;i<n;i++)
{
a[i]=malloc(n*sizeof(int));
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf("\tEntrer les elements de la ligne %d et de la colonne %d: ",i,j);
scanf("%d",&a[i][j]);
}
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf("\tVoici l' element de la ligne %d et de la colonne %d %d: ",i,j, a[i][j]);
}
}
}
main()
{
int i,j,n;
int **a;
printf("\tEntrer la dimension de votre matrice: ");
scanf("%d",&n);
for(i=0;i<n;i++)
{
a[i]=malloc(n*sizeof(int));
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf("\tEntrer les elements de la ligne %d et de la colonne %d: ",i,j);
scanf("%d",&a[i][j]);
}
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf("\tVoici l' element de la ligne %d et de la colonne %d %d: ",i,j, a[i][j]);
}
}
}
A voir également:
- Pointeur de pointeur
- Pointeur souris - Guide
- Curseur Windows 10 : comment bien voir la souris à l'écran - Guide
- Le pointeur de mon pc portable ne marche plus - Guide
- Pointeur laser publicitaire ✓ - Forum Loisirs / Divertissements
- Le pointeur de la souris - Guide
3 réponses
Avant de faire a[i]=malloc(n*sizeof(int)); il faudrait que a[i] existe, et donc que tu fasses d'abord un malloc sur le a :
a = malloc(n*sizeof(int*));
kenson72000
Messages postés
5
Statut
Membre
merçi KX tu es trop fort l'instruction a = malloc(n*sizeof(int*)); a débloqué tt le pb. Merçi encore
a la place de" int **a " tu peut seulement utiliser un pointeur "int *a" puis pour allouer dynamiquement tu vas juste taper: a=(int*)malloc(n*n*sizeof(int))
donc il faut faire:
int **a;
a=(int **) malloc(n*sizeof((int*));
for (i=0; i<n; i++)
a[i]=(int *) malloc(n*sizeof(int));
int **a;
a=(int **) malloc(n*sizeof((int*));
for (i=0; i<n; i++)
a[i]=(int *) malloc(n*sizeof(int));