
Bisher haben wir immer nur eine Zahl gespeichert. Was aber wenn du 100 Noten speichern willst? Mit einem Array speicherst du viele Werte unter einem Namen – und erreichst jeden mit seinem Index! 📊
📦 Was ist ein Array?
Ein Array ist eine Folge von Elementen gleichen Typs im Speicher. Jedes Element hat einen Index, der bei 0 beginnt:
📝 Deklaration und Initialisierung
/* Deklaration – Größe muss eine Konstante sein */ int noten[5]; // 5 int-Werte, uninitialisiert /* Deklaration + Initialisierung */ int noten[5] = {1, 3, 2, 1, 4}; // alle 5 Werte float preise[3] = {9.99f, 14.5f, 3.0f}; // float-Array int nullen[10] = {0}; // alles auf 0 setzen /* Größe aus Initialisierung ableiten */ int werte[] = {10, 20, 30}; // Größe 3 automatisch
🔍 Zugriff mit Index
#include <stdio.h> int main() { int noten[5] = {1, 3, 2, 1, 4}; /* Einzelzugriff */ printf("Erste Note: %d\n", noten[0]); // 1 printf("Letzte Note: %d\n", noten[4]); // 4 /* Alle Elemente mit for-Schleife */ for (int i = 0; i < 5; i++) { printf("noten[%d] = %d\n", i, noten[i]); } return 0; }
Letzte Note: 4
noten[0] = 1
noten[1] = 3
noten[2] = 2
noten[3] = 1
noten[4] = 4
⚠️ Array-Grenzen nicht überschreiten!
Ein Array int a[5] hat gültige Indizes 0 bis 4. Der Zugriff auf a[5] oder a[-1] ist undefiniertes Verhalten – das Programm kann abstürzen oder falsche Ergebnisse liefern. C prüft keine Grenzen!
💻 Praxisbeispiel: Notendurchschnitt
#include <stdio.h> int main() { int noten[6] = {2, 1, 3, 1, 2, 4}; int summe = 0; float schnitt; for (int i = 0; i < 6; i++) summe += noten[i]; schnitt = (float)summe / 6; printf("Durchschnitt: %.2f\n", schnitt); return 0; }
✏️ Übungen
Indizes bestimmen
Gegeben: int zahlen[6] = {10, 25, 3, 17, 8, 42};
zahlen[0]= _______zahlen[3]= _______zahlen[5]= _______ (letztes Element)- Index von Wert 3 = _______
zahlen[6]= _______ (was passiert?)
Minimum finden
Schreibe ein Programm, das in einem Array mit 8 Temperaturwerten den kleinsten Wert findet:
Array vom Benutzer befüllen
Schreibe ein Programm, das 5 ganzzahlige Noten vom Benutzer einliest, alle ausgibt und den Durchschnitt berechnet:
Bubble Sort – Array sortieren
Bubble Sort vergleicht immer zwei benachbarte Elemente und tauscht sie, wenn sie in der falschen Reihenfolge sind. Nach jedem Durchlauf "blubbert" das größte Element ans Ende. Implementiere den Algorithmus: