Latest web development tutorials

C-Zeiger-Array

C Pointer C Pointer

Bevor wir das Konzept eines Arrays von Zeigern erklären, lassen Sie uns ein Beispiel an, das ein Array von drei ganzen Zahlen verwendet:

#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;
}

Wenn der obige Code kompiliert und ausgeführt wird, erzeugt es die folgenden Ergebnisse:

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

Es kann der Fall sein, wollen wir eine Reihe von Speicherpunkt zu einem int oder char oder einem anderen Datentyp Zeiger zu machen. Es folgt eine Erklärung Zeiger auf ein Array von ganzen Zahlen:

int *ptr[MAX];

Hier erklärte dieptr als ein Array von Zeigern auf ganze Zahlen von der MAX.Somit ptr jedes Element ist ein Zeiger auf Werte Int. Das folgende Beispiel verwendet drei ganze Zahlen sind, werden sie in einem Array von Zeigern gespeichert werden, wie folgt:

#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;
}

Wenn der obige Code kompiliert und ausgeführt wird, erzeugt es die folgenden Ergebnisse:

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

Sie können auch einen Zeiger auf ein Array von Zeichen verwenden, um eine Liste von Strings zu speichern, wie folgt:

#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;
}

Wenn der obige Code kompiliert und ausgeführt wird, erzeugt es die folgenden Ergebnisse:

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