# 2. Arrays

Quelle: https://inf.zone/lectures/2-arrays/

Präprozessor. Kompilieren. Assemblieren. Linken. Arrays. Strings. Kommandozeilen-Argumente. Kryptographie.

Die Fehlersuche – `printf`, der Debugger `debug50`, die Gummiente – gehört seit dem Wintersemester 2026/27 zur Vorlesung 1 und steht in den [Notes 1](https://inf.zone/lectures/1-c/notes1/#fehlersuche).

![landscape](https://inf.zone/lectures/2-arrays/lec2-still.jpg "Rubber Duck Debugging")

## Video

*Das Video ist noch nicht verfügbar. Die Aufzeichnung steht ein bis zwei Wochen nach der Vorlesung hier.*

## Material

Die Folien stehen ein bis zwei Tage nach der Vorlesung hier.

- [Notizen](https://inf.zone/lectures/2-arrays/notes2)
- [Code](https://inf.zone/download/lectures/2-arrays/2-src.zip)

## Zugehörige Inhalte

### Shorts

Die Shorts vertiefen einzelne Themen der Vorlesung. Schauen Sie sie gezielt dort an, wo Sie bei einer Übungsaufgabe nicht weiterkommen, und programmieren Sie die Beispiele darin nach. „Die drei Extra-Minuten“ am Ende gehen meist über die Basis hinaus (Kür); was davon zur Basis gehört, steht auf der Seite des Shorts.

Die Shorts 2.1 bis 2.4 (Funktionen, Scope, Fehlersuche mit dem Debugger) gehören schon zur [Vorlesung 1](https://inf.zone/lectures/1-c/), 2.5 und 2.6 (Arrays, Kommandozeilenargumente) zu dieser.

- [2.1 Funktionen](https://inf.zone/lectures/2-arrays/short-2-1-funktionen/) (17 min): Funktionen als Black Box: Vorteile, Deklaration (Prototyp), Definition, Aufruf, Rückgabetyp und Argumentliste, void; Übung valid_triangle
- [2.2 Scope](https://inf.zone/lectures/2-arrays/short-2-2-scope/) (15 min): Geltungsbereich von Variablen: lokale und globale Variablen, Übergabe als Wert, gleiche Namen in verschiedenen Funktionen, Scope in Blöcken und Schleifen
- [2.3 Step Over](https://inf.zone/lectures/2-arrays/short-2-3-debugging1/) (5 min): Debugger debug50 in VS Code: Breakpoint setzen, mit Step Over zeilenweise durch ein Ratespiel gehen, Variablen beobachten, Endlosschleife finden
- [2.4 Step Into](https://inf.zone/lectures/2-arrays/short-2-4-debugging2/) (6 min): Mit Step Into im Debugger in eine Funktion springen; Fehler beim Stringvergleich mit == finden und mit strcmp beheben
- [2.5 Arrays](https://inf.zone/lectures/2-arrays/short-2-5-arrays/) (13 min): Arrays in C: Deklaration, Initialisierung, Index ab 0, Zugriff out of bounds, mehrdimensionale Arrays, Kopieren per Schleife, Übergabe als Referenz
- [2.6 Kommandozeilenargumente](https://inf.zone/lectures/2-arrays/short-2-6-cmdlineargs/) (11 min): main mit argc und argv: Anzahl und Inhalt der Kommandozeilenargumente, argv[0] als Programmname, Umwandlung in Zahlen mit atoi
