Comment déclaré un tableau de pointeur

sindy5 Messages postés 78 Statut Membre -  
 Kinconnu/shakams -
comment déclarer en c un tableau de pointeur
par exemple :
liste=structure
successeur:entier;
suivivant:pointeur(liste);
fin;
la:tableau[1..n]de pointeur(liste);
alors comment déclarer la en c?
merci
A voir également:

3 réponses

lami20j Messages postés 21644 Statut Modérateur, Contributeur sécurité 3 570
 
Salut,
struct liste{
  int successeur;
  struct liste *suivant;
}

struct liste **tableau;
tableau = (liste **) malloc (n * sizeof(liste *));
0
Kinconnu/shakams
 
int *t=NULL;
int i,n;

printf("saisir n : ");
scanf("%d",&n);

t=malloc(n*sizeof(int)); //n= la taille du tableau

if(t!=NULL)
{
for(i=0;i<n;i++) //remplissage
{
scanf("%d",t+i);
}

for(i=0;i<n;i++) //affichage
{
printf("%d \n",*(t+i));

}
}
free(t); //fonction free permettent de vider la memoire reserver pour t ;)
0
sindy5 Messages postés 78 Statut Membre
 
merci bcp
0
laurent
 
Bonjour,
désolé de déterrer ce sujet 4 ans après.
Mais j'aimerais comprendre l'instruction:
tableau = (liste **) malloc (n * sizeof(liste *));

l'instruction dans le malloc, ya pas de soucis. Mais le (liste **) j'y arrive pas. Est ce qu'il traine encore une âme charitable pour m'expliquer?
0
Kinconnu/shakams
 
int *t=NULL;
int i,n;
// la bonne reponse :D

printf("saisir n : ");
scanf("%d",&n);

t=malloc(n*sizeof(int)); //n= la taille du tableau

if(t!=NULL)
{
for(i=0;i<n;i++) //remplissage
{
scanf("%d",t+i);
}

for(i=0;i<n;i++) //affichage
{
printf("%d \n",*(t+i));

}
}
free(t); //fonction free permettent de vider la memoire reserver pour t ;)
0