Latest web development tutorials

C tableau de pointeurs

C Pointer C Pointer

Avant d'expliquer le concept d'un tableau de pointeurs, penchons-nous sur un exemple qui utilise un tableau de trois entiers:

#include <stdio.h>
 
const int MAX = 3;
 
int main ()
{
   int  var[] = {10, 100, 200};
   int i;
 
   for (i = 0; i < MAX; i++)
   {
      printf("Value of var[%d] = %d\n", i, var[i] );
   }
   return 0;
}

Lorsque le code ci-dessus est compilé et exécuté, il produit les résultats suivants:

Value of var[0] = 10
Value of var[1] = 100
Value of var[2] = 200

Il peut y avoir un cas, nous voulons faire un tableau de point de stockage à un int ou char ou tout autre pointeur de type de données. Ce qui suit est un pointage énoncé de pointeur sur un tableau d'entiers:

int *ptr[MAX];

Ici, leptr déclaré comme un tableau de pointeurs vers des entiers par le MAX.Ainsi, chaque élément ptr est un pointeur vers int valeurs. L'exemple suivant utilise trois entiers, ils seront stockés dans un tableau de pointeurs, comme suit:

#include <stdio.h>
 
const int MAX = 3;
 
int main ()
{
   int  var[] = {10, 100, 200};
   int i, *ptr[MAX];
 
   for ( i = 0; i < MAX; i++)
   {
      ptr[i] = &var[i]; /* 赋值为整数的地址 */
   }
   for ( i = 0; i < MAX; i++)
   {
      printf("Value of var[%d] = %d\n", i, *ptr[i] );
   }
   return 0;
}

Lorsque le code ci-dessus est compilé et exécuté, il produit les résultats suivants:

Value of var[0] = 10
Value of var[1] = 100
Value of var[2] = 200

Vous pouvez également utiliser un pointeur sur un tableau de caractères pour stocker une liste de chaînes, comme suit:

#include <stdio.h>
 
const int MAX = 4;
 
int main ()
{
   char *names[] = {
                   "Zara Ali",
                   "Hina Ali",
                   "Nuha Ali",
                   "Sara Ali",
   };
   int i = 0;

   for ( i = 0; i < MAX; i++)
   {
      printf("Value of names[%d] = %s\n", i, names[i] );
   }
   return 0;
}

Lorsque le code ci-dessus est compilé et exécuté, il produit les résultats suivants:

Value of names[0] = Zara Ali
Value of names[1] = Hina Ali
Value of names[2] = Nuha Ali
Value of names[3] = Sara Ali

C Pointer C Pointer