Systemnahe Programmierung in Chome Systemnahe Programmierung in C: Datenstrukturen: Feld und Verbund Prof. Dr. Uwe Schmidt FH Wedel

Datenstrukturen: Feld und Verbund

weiter

weiter

Datenstrukturen

Datentypen
Feld, Verbund, Zeiger, Vereinigung
weiter
getypte Ausdrücke

weiter

Beispiel: Stack2.c

   1struct {
   2  int a[20];
   3  unsigned int topPtr;
   4} stack= {{0}, 0};
   5
   6void push(int v) {
   7  stack.a[stack.topPtr++] = v;
   8}
   9
  10int top(void) {
  11  return stack.a[stack.topPtr -1];
  12}
  13
  14void pop(void) {
  15  --stack.topPtr;
  16}
  17
  18int isEmpty(void) {
  19  return stack.topPtr == 0;
  20}
  21
weiter

weiter

Anwendung: Main2.c

   1#include "Stack2.c"
   2
   3int main(void)
   4{
   5
   6  push(...);
   7
   8  ... top() ...;
   9
  10  pop();
  11
  12  ... ( isEmpty() )
  13
  14  push(...);
  15
  16  pop();
  17
  18}
weiter

weiter

Vergleich: diff.Stack1.Stack2

| struct {
int a[20]; int a[20];
unsigned int topPtr = 0; | unsigned int topPtr;
| } stack= {{0}, 0};
void push(int v) { void push(int v) {
a[topPtr++] = v; | stack.a[stack.topPtr++] = v;
} }
int top(void) { int top(void) {
return a[topPtr -1]; | return stack.a[stack.topPtr -1];
} }
void pop(void) { void pop(void) {
--topPtr; | --stack.topPtr;
} }
int isEmpty(void) { int isEmpty(void) {
return topPtr == 0; | return stack.topPtr == 0;
} }
)
weiter

weiter

Vor- und Nachteile

Vorteile
  • ...
  • ...
  • ...
Nachteile
  • ...
  • ...
  • ...

Letzte Änderung: 11.01.2007
© Prof. Dr. Uwe Schmidt
Prof. Dr. Uwe Schmidt FH Wedel