Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Good Morning @all,

kann man während der Laufzeit eines Programms die Arrayelemente ändern?

Zum Beispiel ich deklariere ein zweidimensionales Array mit dem Namen

text[10][80]

merke aber zu einem Späteren Zeitpunkt, das Array ist zu klein und verändere

dann den Wert.

text[10][90]

Könnt ihr mir da vielleicht weiterhelfen?

Ich weiss, dass man auch ein Array ohne Elemente deklarieren kann.

z.B. text[][]

Mich interessiert allerdings ob das auch so funktioniert mit dem späteren verändern und ob die Inhalte des Arrays dann verloren sind oder nicht.

thx. kaffeemacher :)

Meines Wissens nach kann man die Werte eines Arrays nicht zur Laufzeit ändern, da der Array beim Komipilieren angelegt wird und der Speicher reserviert wird.

Für das, was du machen willst, sprich dynamische Speicherreservierung, gibt es Zeiger :eek:

Mit Zeigern kannst du zur Laufzeit immer wieder Speicher reservieren... Sind halt nur ein bißchen einlesungsbedürftig... Damit du dir nicht immer den Speicher abschießt ;)

Tach!

Man kann mit "malloc" Speicherplatz reservieren. Sollte dieser Platz irgendwann zu klein sein, kann man mit "realloc" den Speicherplatz neu allokieren. Zuvor müssen aber alle Daten, die in dem Speicherbereich vorhanden sind woanders gespeichert werden, da sie sonst alle verloren gehen.

Wenn ich das falsch erklärt hab, dann berichtigt mich bitte. :(

Original geschrieben von CyberDemon

Tach!

Man kann mit "malloc" Speicherplatz reservieren. [...][ /B]

Ja, aber dabei arbeitet man dann mit Zeigern...

Wenn du definierte Arrays hast, dann reservierst du den Speicher zum Zeitpunkt der Kompilierung...

Oder vertue ich mich da jetzt??!

Hi Kaffeemacher,

das Zauberwort heisst auch hier mal wieder Suche ;)

Da kannst alles ganz ausfuehrlich nachlesen. Es ist allerdings zu bezweifeln, dass es die einfachste Methode ist, wenn man von Hand zur Laufzeit an den Arrays rumbastelt.

...aber gut.....lies ein paar der Suchergebnisse mit vielen Antworten und frag dann weiter wenn noch Fragen offen sind.

Goos

std::vector<std::vector<T> > wäre auch eine sehr gute Alternative.

Hallo,

@Kaffeemacher:

Es gibt keine Möglichkeit, Arrays in der von Dir beschrieben Art und Weise zur Laufzeit zu modifizieren. Einzige Möglichkeit ist die Verwendung einer dynamischen Speicherverwaltung (beispielsweise malloc, realloc oder auch eine selbstimplementierte).

Nic

DANKE FÜR EURE BEITRÄGE :D

IHR HABT MIR SEHR GEHOLFEN

GREETZ KAFFEEMACHER

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.