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.

Arraygröße neu definieren?

Empfohlene Antworten

Veröffentlicht

Hallo,

ich habe folgendes Problem. Ich brauche in meinem programm ein globales Array vom eigenen Typ Stopword. Jedoch weiß ich die Länge erst, wenn das Programm eine SQL-Abfrage gemacht hat. Gibt es eine Möglichkeit die Länge des Arrays dann erst neu anzugeben?

Gruß

Du kannst die Größe von Arrays nicht ändern.

In C kannst du den Speicher, wenn du ihn dynamisch (mit malloc) reserviert hast, mit realloc vergrößern.

In C++ würde man in so einem Fall gar kein Array verwenden, sondern eine der Containerklassen der Standardbibliothek, wie std::vector.

Globale Variablen braucht man übrigens äußerst selten, und meistens sind sie ein Zeichen von schlechtem Stil.

Hehe...Das würde ich nicht abstreiten, aber besser krieg ich's nicht hin. Ich werd's mal mit realloc versuchen. Danke

Ich behaupte mal, dass Du evtl. nicht weißt, was Du brauchst ;)

Vielleicht ist eine Liste ja auch das, was Du benötigst.

Und vielleicht brauchst Du auch kein globales Array, sondern nur einen Speicherblock mit Zeiger dran zum draufzeigen und rundreichen ...

oder oder oder ... vielleicht solltest Du das Problem nochmal überdenken, dann löst sich Deine Frage in wohlgefallen auf.

Du könntest dir zur not auch noch ne Funktion schreiben, welche die Arraygröße verändert. Funktioniert natürlich nur solange du das Array vergrößern willst :D.

Hier ein kleines Beispiel für ein Array vom Typ Integer:


int* renew (int* old, int sizeold, int sizenew)

{

int* tmp = new int[sizenew];


if (sizeold < sizenew)

{

for (int i=0;i<sizeold;i++)

{

tmp[i] = old[i]

}


delete [] old;

}


return tmp;

}


lg

Gateway

Ok...hab mir jetzt ne liste geschrieben und übergebe die einfach an die entsprechenden Funktionen. Ist natürlich wirklich etwas eleganter...danke für die Tipps.

Gruß

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

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.