Arrays und Strings
Diese Lektion behandelt Arrays und Strings in C: Deklaration, Initialisierung, Zugriff, Iteration und Besonderheiten von Zeichenketten.
1. Arrays
Ein Array ist eine Sammlung von Elementen gleichen Typs, die unter einem Namen gespeichert sind.
int zahlen[5]; // Array mit 5 ganzen Zahlen
int zahlen2[5] = {1,2,3,4,5};
Array-Indizes beginnen in C immer bei 0.
2. Zugriff auf Array-Elemente
Einzelne Elemente werden über den Index angesprochen.
zahlen[0] = 10; // erstes Element
int x = zahlen[2]; // drittes Element
3. Iteration über Arrays
Schleifen eignen sich gut, um alle Elemente eines Arrays zu verarbeiten.
for(int i = 0; i < 5; i++) {
printf("%d\n", zahlen[i]);
}
4. Mehrdimensionale Arrays
Arrays können mehrere Dimensionen haben, z.B. Matrizen.
int matrix[2][3] = {
{1,2,3},
{4,5,6}
};
printf("%d\n", matrix[1][2]); // Ausgabe: 6
5. Strings
Strings sind Arrays vom Typ char, die mit '\0' terminiert sind.
char name[6] = "Alice"; // 'A','l','i','c','e','\0'
6. Zeichenketten bearbeiten
Strings werden über Indizes und Funktionen aus <string.h> manipuliert.
#include <stdio.h>
#include <string.h>
char s1[20] = "Hallo";
char s2[20] = " Welt";
strcat(s1, s2); // s1 = "Hallo Welt"
printf("%s\n", s1);
printf("Laenge: %lu\n", strlen(s1));
7. Vorsicht bei Arrays und Strings
- Array-Grenzen müssen eingehalten werden – sonst undefiniertes Verhalten
- Strings müssen immer mit
'\0' terminiert sein
- Arrays werden beim Funktionsaufruf als Pointer übergeben (Call by Reference für ganze Array-Blocks)
8. Zusammenfassung
- Arrays: Sammlung von Elementen gleichen Typs, Index beginnt bei 0
- Mehrdimensionale Arrays für Matrizen
- Strings sind
char-Arrays mit '\0' Terminierung
- Manipulation mit Indexen und
<string.h>-Funktionen
- Grenzen einhalten, sonst undefiniertes Verhalten