Welche Speicherarten gibt es?
Cloud
Interne /Externe Festplatten
RAM/ROM
Cache (Zwischenspeicher)
Server
Welche drei Möglichkeiten um Speicher zu reservieren?
Stastischer Speicher
Speicher der nach dem Kompilieren und Linken reserviert wird
besteht so lange wie das Programm ausgeführt wird
Beispiel:
Globale Variablen -> (außerhalb Funktion und main)
Stack Speicher (automatisch)
Speicherbereich der automatich beim aufrufen eine Funktion für lokale Variablen reserviert wird
Automatisch freigegen wird sobald die Funktion verlassen wird
Beispiele:
Variablen innerhalb von main() oder anderen Funktionen
Funktionsparameter
Dynamischer Speicher (Heap)
Speicher den man selbst im Programm anfordert mit new
Und selbst freigibt delete
Flexibel da man selber zur Laufzeit entscheiden kann wann
Wie viel Speicher brauchst du
Beispielprogramm
#include <iostream>
using namespace std;
int main() {
int* zahl = new int; // Speicher für EINE Zahl reservieren
*zahl = 5; // Wert reinschreiben
cout << "Die Zahl ist: " << *zahl << endl;
delete zahl; // Speicher wieder freigeben
return 0;
}
Was sind Zeiger und Referenz im Programm?
Beispiel Postfach
Jede Variable hat eine “Adresse” und ein “Inhalt”
int zahl= 1 -> normale Variable vom Typ int
Sie wird im Speicher abgelegt
der Inhalt der Variable ist 1
Sie liegt an einer Adresse z.B (0x6dfed4)
cout << “Ausgabe von zahl: “ <<zahl<<endl;
Gib den Wert der Variable zahl aus hier: 1
Sozusagen was steckt im Postfach
cout << “Ausgabe von zahl&: “ <<zahl&<<endl;
Gibt die Speicheradresse der Variable zahl aus
Sozusagen: „Wo steht das Postfach
Was ist eine Referenzvariable?
zweite name für eine bestehende Variable
Zeigt auf die selbe Speicheradresse
string food = "Pizza";
string& meal = food; // meal ist Referenz auf food
& hinter dem Typ (z. B. string&) → erzeugt Referenzvariable
Änderungen an meal = Änderungen an food
Was ist Bubble-Sort?
Sotierverfahren um ein unsortiertes Array der größe nach sortiert
Dabei wird der größte Wert Array nach hinten hochgeblubbert
Beispiel: [5, 2, 4, 1]
1. Phase
[2, 5, 4, 1]
[2, 4, 5, 1]
[2, 4, 1, 5]
2. Durchlauf:
[2, 1, 4, 5]
3. Durchlauf:
[1, 2, 4, 5]
Zuletzt geändertvor 2 Tagen