Lektion 40:

Arrays und Zeiger

Mit einfachen Arrays können Sie bereits umgehen.

#include <iostream.h>
void main()
{
   int array[5]={1,2,3,4,5};
   cout<<array[0]<<endl;
   cout<<array[1]<<endl;
};

Was Sie aber noch nicht wissen, ist daß in der Zeile

   cout<<array[0]<<endl;

   der operator[] gar nicht wirklich auf das Array aufgerufen wird! Genaugenommen wird der operator[] nur auf einen Zeiger ausgeführt. Immer, wenn in solchen Ausdrücken ein array angegeben wird, dann wandelt der Compiler automatisch dieses Array in einen Zeiger auf das erste Array-Element um. Der operator[] funktioniert nur auf Zeigern.

#include <iostream.h>
void main()
{
   int array[5]={1,2,3,4,5};
   int *pi=array;
   cout<<pi[0]<<endl;
   cout<<pi[1]<<endl;
};

Dieses Verhalten wird benutzt, wenn man Funktionen schreibt, die etwas mit einem Array machen sollen.

#include <iostream.h>
void printArray(int *pi,int size)
{
   for(int i=0;i<size;i=i+1)
      cout<<pi[i]<<endl;
};
void main()
{
   int array[5]={1,2,3,4,5};
   printArray(array,5);
};


Falls Ihnen Fehler im Text auffallen oder Sie Verbesserungsvorschläge haben, dann schicken Sie mir bitte eine Mail. Ich werde mich dann sofort darum kümmern.
[aktuelle Version] [inhalt] [index]      [Fehlerkorrektur, Verbesserungsvorschlag]

© Volkard Henkel <volkard@normannia.de>, last update: 08/25/00