Unterprogramme als Argumente

int d ( int g(int x) ) { return g(g(1)); }

int p (int x) {
  int f (int y) { return x + y ; }
  return d (f);
}

Betrachte Aufruf p(3).

Das innere Unterprogramm f muß auf den p-Frame zugreifen, um den Wert von x zu finden.

Dieser Frame lebt.

Wenn Unterprogramme nur ``nach innen'' als Argumente übergeben werden, können die Frames auf einem Stack stehen.

Übung: Assemblercode verstehen



2010-02-04