Frage zu Zeigern
-
Hi, ich habe ein kleines Programm, dass ein Array mit Hilfe eines Zeigers durchstreift, doch eine Zeile leuchtet mir nicht so ganz ein:
#include <iostream> using namespace std; int main() { int iarray[] = {11, 22, 33}; int* iptr = 0; iptr = iarray; //Diese Zeile for(unsigned int i = 0; i<sizeof(iarray)/sizeof(iarray[0]); i++) { cout << *iptr << endl; iptr++; } return 0; }Die Zeile, in der steht:
iptr = iarray;verstehe ich nicht ganz, warum schreibt man denn nicht
iptr = &iarray;oder
*iptr = iarray;Ist das bei Arrays etwa etwas anderes?
-
Wenn du ein Array
int huhu[5];definiert dann zeigt
huhu auf das erste element des Arrays. Es ist also ein Zeiger.
EDIT: auf weitere elemente greifst du mithuhu+sizeof(int)*(Elementindex)Ich weiss nicht genau ob das SO geht, aber wir werden gleich aufgeklärt.
-
Er kann doch wie in dem Code auf weitere Elemente auch zugreifen in dem er den Zeiger einfach inkrementiert;-)
Gruß freeG