9.4 Kontrollfragen und Aufgaben
-
Was sind Arrays?
-
Wo liegt der Unterschied zwischen Strings und Arrays?
-
Was ist die größte Gefahr bei der Verwendung von Arrays bzw. Strings?
-
Welche Indexnummer hat das erste Element eines Arrays oder Strings?
-
Im folgenden Listing wurden gleich zwei Fehler gemacht. Welche?
00 // Kapitel9/aufgabe001.c
01 #include <stdio.h>
02 #include <stdlib.h>
03 #define MAX 10
04 int main(void) {
05 int ival[MAX];
06 for(int i = MAX; i > 0; i--) {
07 ival[i] = i;
08 }
09 for(int i = 0; i < MAX; i++) {
10 printf("%d\n", ival[i]);
11 }
12 return EXIT_SUCCESS;
13 } -
Auch wenn das folgende Programm korrekt ausgeführt wird, ist ein Fehler enthalten. Welcher?
00 // Kapitel9/aufgabe002.c
01 #include <stdio.h>
02 #include <stdlib.h>
03 #define MAX 10
04 int main(void) {
05 char v[5] = { 'A', 'E', 'I', 'O', 'U' };
06 printf("Die einzelnen Vokale: ");
07 for(int i=0; i < 5; i++ ) {
08 printf("%c (Dezimal: %d)\n", v[i], v[i]);
09 }
10 printf("Alle zusammen: %s\n", v);
11 return EXIT_SUCCESS;
12 } -
Schreiben Sie ein Programm, das die Größe in Bytes und die Anzahl der Elemente eines Arrays bzw. Strings ermittelt und ausgibt.
Tipp: Verwenden Sie den sizeof-Operator. Bei den Strings können Sie auch die Funktion strlen() aus der Header-Datei string.h nutzen. Verwenden Sie folgende Arrays bzw. Strings:
int iarr[] = { 2, 4, 6, 4, 2, 4, 5, 6, 7 };
double darr[] = { 3.3, 4.4, 2.3, 5.8, 7.7 };
char str[] = { "Hallo Welt"}; -
Schreiben Sie eine Funktion, die zwei int-Arrays auf Gleichheit überprüft. Die Funktion soll -1 zurückgeben, wenn beide Arrays gleich sind, oder die Position, an der ein Unterschied gefunden wurde. -2 soll zurückgegeben werden, wenn beide Arrays unterschiedlich lang sind.
Hinweis: Verwenden Sie hierfür nicht die Funktion memcmp() aus der Headerdatei string.h, mit der Sie ebenfalls zwei Arrays auf Gleichheit überprüfen könnten.
-
Schreiben Sie eine Funktion, die in einem String ein bestimmtes Zeichen durch ein anderes Zeichen ersetzt.
Im nächsten Kapitel wird ein sehr wichtiges Kapitel in C behandelt, nämlich die Verwendung von Zeigern. Wenn Sie sich das nächste Kapitel durchgelesen haben, werden Sie auch die Strings und Arrays noch besser verstehen.