Pointer vs Pointer auf Array
-
Hallo,
was ist der Unterschied zwischen
int (*a)[20];und
int *b;?
a ist ein Pointer auf 20 ints und b ist ein Pointer auf einen int. D.h. ich kann beide male schreiben a[i] und b[i]. Da C++ keine Bereichsgrenzen überprüft (also auch a[300] kompiliert), ist doch eigentlich a und b dasselbe, oder?

-
a ist kein Pointer auf 20 ints, sondern ein Pointer auf ein Array aus 20 ints. Du müsstest (*a)[0] schreiben, um auf das erste Element zuzugreifen.
-
Welchen Typ hat dann a[0]? int*?
-
int[20]