Forum: PC-Programmierung c programmierung: dynamische 2D-arrays


von Reinhard L. (leiti7)


Lesenswert?

Hallo Leute.

Stehe vor folgendem Problem:

Ich benötige ein 2-dimensionales array das in seiner Größe vaiable ist, 
also dynamisch. wie ein 1-dimensionales, dynamisches array programmiert 
wird weis ich aber das 2-dimensionale funktioniert anscheinend anders. 
Kann mir da jemand weiterhlefen?

mfg

von Random .. (thorstendb) Benutzerseite


Lesenswert?

hmmm ... klingt nach STL :-)

von Klaus T. (gauchi)


Lesenswert?

Zwei Möglichkeiten:

1. einen (variablen) Vektor von Vektoren anlegen, dann können die Zeilen 
deiner Matrix sogar verschieden lang sein (array von pointern 
alloccieren, die auf die Zeilen zeigen, die du jeweils einzeln 
alloccierst)

2. ein eindimensionales Array der länge zeilen * spalten anlegen und 
selber rechnen: index = spaltenindex + zeilenindex*zeilenlänge

von Reinhard L. (leiti7)


Lesenswert?

was ist STL?

von Tommy S. (tommys)


Lesenswert?

Hi!

STL oder Informatik-Studium, 2. Semester: Algorithmen und 
Datenstrukturen

Grüße,
TommyS

von Random .. (thorstendb) Benutzerseite


Lesenswert?

http://en.wikipedia.org/wiki/Standard_Template_Library

da gibtz fertigt maps und zeugs. Glaub aber, das sich das nur für den PC 
lohnt.

von Karl H. (kbuchegg)


Lesenswert?

Reinhard Leitgeb schrieb:
> Hallo Leute.
>
> Stehe vor folgendem Problem:
>
> Ich benötige ein 2-dimensionales array das in seiner Größe vaiable ist,
> also dynamisch. wie ein 1-dimensionales, dynamisches array programmiert
> wird weis ich aber das 2-dimensionale funktioniert anscheinend anders.
> Kann mir da jemand weiterhlefen?

Ein voll dynamisches 2D-Array in C funktioniert so:

Man baut sich ein 1-dimensionales dynamisch allokiertes Array von 
Pointern, wobei jeder Pointer wieder auf ein dynamisch allokiertes 
1-dimensionales Array von Werten zeigt.


Was macht dein Buch?

von Klaus W. (mfgkw)


Lesenswert?

Reinhard Leitgeb schrieb:
> was ist STL?

STL ist die Standard Template Library aus C++.
Wenn du explizit mit C arbeiten willst, hast du damit nichts am Hut.

Falls du dich zu C++ durchringen kannst, macht sie dir das Leben 
wesentlich leichter, unter anderem bei deinem 2D-Feld.

von Klaus W. (mfgkw)


Lesenswert?

Random ... schrieb:
> http://en.wikipedia.org/wiki/Standard_Template_Library
>
> da gibtz fertigt maps und zeugs. Glaub aber, das sich das nur für den PC
> lohnt.

Siehe ganz oben:
Forum: PC-Programmierung

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.