Systemnahe Programmierung in C: Referenzieren von Komponenten |
1#include <stdio.h>
2#include <string.h>
3
4struct datum
5{
6 unsigned char tag;
7 unsigned char monat;
8 unsigned int jahr;
9};
10
11struct person
12{
13 char name[20];
14 char vorname[10];
15 struct datum geb;
16};
17
18
19struct person angestellte[100], *persptr;
20
21void
22f1 (void)
23{
24 struct person emil;
25
26 /* dynamische Initialisierung */
27
28 strcpy (emil.name, "Steinberger");
29 strcpy (emil.vorname, "Emil");
30 emil.geb.tag = 31;
31 emil.geb.monat = 11;
32 emil.geb.jahr = 1900;
33
34 /* Zuweisungen */
35 angestellte[0] = emil;
36}
37
38void
39f2 (void)
40{
41 int i;
42 for (i = 0; i < 100; i++)
43 {
44 if (angestellte[i].geb.tag > 31 ||
45 angestellte[i].geb.monat > 12 ||
46 angestellte[i].name[0] == 0 ||
47 angestellte[i].vorname[0] == 0)
48 printf ("falsche Personendaten in angestellte[%d]\n", i);
49 }
50}
51
52void
53f3 (void)
54{
55 int i;
56 struct person *persptr;
57
58 for (i = 0, persptr = angestellte; i < 100; ++i, ++persptr)
59 {
60 if (persptr->geb.tag > 31 ||
61 persptr->geb.monat > 12 ||
62 persptr->name[0] == 0 ||
63 persptr->vorname[0] == 0)
64 printf ("falsche Personendaten in angestellte[%d]\n", i);
65 }
66}
|
Letzte Änderung: 11.01.2007 | © Prof. Dr. Uwe Schmidt |