OK ich werd mal probieren, Strukturen zu erklären. Angenommen du willst ein Rennspiel programmieren. So ein Rennauto hat nun zum Beispiel ein bestimmtes
Gewicht(was du evt. für Physik brauchst), eine
Höchstgeschwindigkeit und
Leistung(in PS). So nun könntest du ja für dein Auto einfach 3 Variablen erstellen(in der main oder in einer anderen Funktion):
|
C-/C++-Quelltext
|
1
2
3
4
5
|
// ...
int weight; // gewicht
int speed; // geschwindigkeit
int power; // leistung
// ...
|
Was nun aber, wenn du mehrere Autos haben willst in deinem Spiel? Man könnte z.b. die variablen weight_auto1, weight_auto2 etc... nennen. Aber wäre es nicht besser, wenn man z.b. einen eigenen Variablentyp(also sowas wie int) erstellen könnte, der dann automatisch alle daten des autos beinhaltet? Genau hier liegt der ansatzpunkt von strukturen. Du kannst einfach alle diese Variablen in eine Struktur verschieben. Durch die Deklaration einer Struktur erstellst du sozusagen deinen eigenen Variablentyp.
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
|
struct car
{
int weight; // gewicht
int speed; // geschwindigkeit
int power; // leistung
};
// Und in der main oder sonstwo...
car my_car;
my_car.weight = 1500;
my_car.speed = 330;
my_car.power = 570;
|
Am anfang wird deine Struktur mit dem Sinnreifen namen car(= auto) erstellt. In der zeile "car my_car;" wird nun eine
Instanz dieser Struktur erzeugt. D. h., es wird sozusagen dein Auto erstellt. Ich habe die variable mal my_car genannt. Mit dem "."-Operator kannst du nun auf die einzelnen
Elemente deines Autos zugreifen und so z.b. Gewicht oder Leistung festlegen. Nun kannst du auch auf einfache Weise mehrere autos erstellen und musst nur noch eine Variable pro auto Deklarieren.
|
C-/C++-Quelltext
|
1
2
3
4
|
// Mehrere autos...
car car1;
car car2;
car car3;
|
Wenn man das ganze in einem Array hat, ist es nicht nur übersichtlicher, sondern auch später einfacher zu bearbeiten(Stichwort dyn. Speicherreservierung):
|
C-/C++-Quelltext
|
1
|
car my_cars[10]; // 10 Autos erstellen
|
Eine Struktur ist also nur eine Ansammlung von Variablen um bequem darauf zuzugreifen.
Übrigens: Eine Struktur kann auch andere Strukturen oder deren Instanzen beinhalten.
Falls du noch fragen hast, einfach stellen, ich hoffe ich konnte dir helfen,
Socke