Frage zu Array? (Anfänger)
-
Hallo Leute, bitte helft mir mal. Ich kapier das einfach nicht ganz mit den Arrays.
Was ist den zwischen den 2 Array's der Unterschied:char (*Array1)[80]
jetzt der zweite
char Array2[80]
-
Hi,
das mit dem * ist ein Zeiger auf ein Array, das andere ist ein Array.
-
char (*Array1)[80]
sind 80 Zeiger vom Typ charchar Array2[80]
sind 80 Variablen vom Typ char
-
aber ist
char (*Array1)[80]
nicht ein Zeiger auf ein Char(array) mit 80 Zeichen?
-
AnTri schrieb:
aber ist
char (*Array1)[80]
nicht ein Zeiger auf ein Char(array) mit 80 Zeichen?
Nö. Das ist ein Zeiger auf ein Char mit 80 Zeichen: char* array[80]
-
Ich würd sagen, das ist ein Array aus 80 Zeigern auf char*
-
Das glaube ich gerade ja NICHT!!!
-
Das ist ein Zeiger auf ein Char mit 80 Zeichen
Wenn schon, ein char-Arary mit 80 Zeichen...
Ich würd sagen, das ist ein Array aus 80
char a[80];
Zeigern
char* a[80];
auf char*
char** a[80];
Es ist ein Zeiger auf char[80], also ein Zeiger auf ein char-Array mit 80 Indices.
Man kann auch sagen, dass es ein Zeiger auf eine Zeichenkette ist.
Je nach Initialisierung kann es dann entweder ein Zeiger auf eine Zeichenkette sein:char* a[80]; a = new char**;
oder ein Array an Zeigern auf char[80]:
char* a[80]; a = new char*[80];
Hm, ne irgendwas ist hier falsch.
Also man nutzt statt char[] in C++ sowieso besser string und wenn man es dennoch mit char machen will, gefälligst char**.
Aber würde mich auch mal interessieren, wie die beiden letzten Codes bei mir aussehen würden.
MfG MAV
-
Stimmt. Ich glaub es sind 80 Zeiger (wegen den Klammern)
-
So, ich behaupte jetzt einfach, dass es 80 Zeiger auf char sein können und gleichzeitig ein Zeiger auf ein char-Array mit 80 Elementen.
-
AnTri schrieb:
aber ist
char (*Array1)[80]
nicht ein Zeiger auf ein Char(array) mit 80 Zeichen?
Jap. "Declaration Looks Like Use", oder so: (*Array1) hat 80 Elemente des Typs Char, also ist Array1 ein Zeiger auf ein Array von 80 Chars.