Boujour j'ai une structure de tableau avec une capacité maximal et une taille reele et j'aimerais ajouter un element a ce tableau a une position i et qui decale vers la droite les autre element qui viennent apres pour faire de la place au nouvel element.

Voici ma structure
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
struct tableau{
  unsigned int taille;
  unsigned int capacite;
  int *tab;
};
et voici ma fonction
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
struct tableau* decaler(struct tableau*d,int i,int n){
  if (i<d->taille){
    if(d->taille<d->capacite){
      int tab[d->capacite]=d->tab;
      int j;
      d->tab[i]=n;
      for(j=i+1;i<d->taille+1;j++){
    d->tab[j]=tab[j-1];
      }
      d->taille=d->taille+1;
    }
...
}
Sauf que j'ai un probleme et je en sais pas comment le resoudre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
error: variable-sized object may not be initialized
       int tab[d->capacite]=d->tab;
       ^