Array deklaration, x[var][var] nicht möglich
-
Hallo,
ich habe Probleme damit ein Array mit einer Variable als Größe zu deklarieren.
Da ich Anfänger bin habe ich es naiv mit
int breite = 30; int array[breite][breite];versucht. Das führte aber bei VS2008 zu folgendem Fehler:
error C2057: Konstanter Ausdruck erwartet
error C2466: Zuordnung eines Arrays der konstanten Größe 0 nicht möglich.Auch wenn ich die breite mit const int deklariere kommt der Fehler.
Meine Frage ist ganz einfach, wie mache ich soetwas?
-
Mach aus:
int breite = 30;einfach:
#define BREITE 30
-
ranz0r schrieb:
Hallo,
ich habe Probleme damit ein Array mit einer Variable als Größe zu deklarieren.
Dein Compiler kann nicht C99 Deklarationen verstehen. Mit einem C99 Compiler könntest du es so schreiben.
Ein gängiges Vorgehen ist, wie way es zeigt.
Gruß,
B.B.
-
Danke, es geht!
-
Ein anderer Weg, ein dynamisches Array hinzubekommen, wäre indem du mit malloc Speicher allozierst (und mit free wieder freigibst). Ein solches Array könntest du auch resizen mit realloc.
-
way schrieb:
Mach aus:
int breite = 30;einfach:
#define BREITE 30Und wenn du dann noch BREITE kleinschreibst, kompiliert's sogar.

-
flamer schrieb:
Und wenn du dann noch BREITE kleinschreibst, kompiliert's sogar.


-
Und wenn du dann noch BREITE kleinschreibst, kompiliert's sogar.

get owned by flamer^^