Deklaration
|
von Variablen
|
|
|
| |
besser
|
#define LEN 25
int a[LEN];
|
| |
Indizierter Zugriff
|
int i;
... a[i] ... ;
a[i] = ... ;
|
| |
|
Indizierung ab 0
|
|
Legale Indizes: 0,1,...,LEN-1
|
| |
Indexüberprüfung
|
#include <assert.h>
int i;
assert(0 <= i && i < LEN);
... a[i] ...
|
| |
Verarbeitung
|
aller Elemente eines Feldes
|
|
1 int i;
2
3 for (i = 0; i < LEN; ++i) {
4 ... a[i] ...;
5 }
|
| |
oder
|
1 int i;
2
3 i = 0;
4 while (i < LEN) {
5 ... a[i] ...;
6 i = i + 1;
7 }
|
| |
Felder als Parameter
|
2 Parameter notwendig
- Länge des Feldes
- Zeiger auf das erste Element des Feldes
|
| |
Aufruf
|
|
| |
Funktionsdeklaration
|
1 ... f(int x[], int xLen) {
2 int i;
3 for (i = 0; i < xLen; ++i) {
4 ... x[i] ...;
5 }
6 }
|
| |
Beispiel
|
1 int sum(int x[], int xLen) {
2 int i;
3 int res = 0;
4
5 for (i = 0; i < xLen; ++i) {
6 res = res + x[i];
7 }
8 return
9 res;
10 }
11
12
13 int a[3];
14 a[0] = 2;
15 a[1] = 20;
16 a[2] = 200;
17
18 ... sum(a,3) ...;
|
| |
|
Zuweisungen mit Feldern sind nicht möglich
|
|
Sie müssen durch Schleifen realisiert werden
|