Zeiger auf Array
-
HI,
bin ein Nooooob und kenn mich leider no net so aus, daher eine rel. simple Frage mal zum Einstieg (gerne auch Links, aber Suche nach "Pointer" und "Zeiger" gaben keinen Erfolg):
Ich hab ein Array
int a[3] = {....}
und will jetzt auf diesen Array pointen um genauer zu sein, auf die Spitze. Krieg ich das nur mit
int *p = &a[0]
hin oder gibt es etwas wie
int* p[3] = &a
oder so ähnlich?
Thx, Euer
Dude
-
der_dude schrieb:
und will jetzt auf diesen Array pointen um genauer zu sein, auf die Spitze. Krieg ich das nur mit
int *p = &a[0];
entweder so oder
int *p = a;
-
der_dude schrieb:
HI,
bin ein Nooooob und kenn mich leider no net so aus, daher eine rel. simple Frage mal zum Einstieg (gerne auch Links, aber Suche nach "Pointer" und "Zeiger" gaben keinen Erfolg):
Lies meinen Artikel dazu. Den gibt's im Artikel-Forum.
Die Suche hier ist etwas kaputt, du musst immer ein * vor und hinter dein Suchwort stellen: *Pointer*.
Um auf die Spitze eines Array zu zeigen, hast du folgende Möglichkeiten:
int x[3] = {0,1,2}; int *p = &x[0]; int *p2 = x; //zeigt auch auf das erste Element
Willst du ein beliebiges Element adressieren, brauchst du natürlich die erste Schreibweise (oder du iterierst durch, was aber normal unnötig ist).
MfG
GPC
-
GPC schrieb:
Willst du ein beliebiges Element adressieren, brauchst du natürlich die erste Schreibweise
nicht unbedingt:
int *p = a+3; // zeigt auf viertes element
-
Problem solved. Danke euch! Geiles Forum, gefällt mir!
-
net schrieb:
GPC schrieb:
Willst du ein beliebiges Element adressieren, brauchst du natürlich die erste Schreibweise
nicht unbedingt:
int *p = a+3; // zeigt auf viertes element
ehm, ja okay, Pointerarithmetik geht natürlich auch.
MfG
GPC