[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: C oder C++ Kurs auf Disk



Hallo Wulf!

On Fri, 16 Oct 1998, Dr.-Ing. Wulf Alex wrote:

> Ein Unterschied zwischen C und Pascal liegt darin, dass C gut standardisiert
> ist - in Form von ANSI-C - waehrend es bei Pascal mehrere Dialekte gibt.
> So ist Turbo Pascal deutlich anders als ANSI-Pascal.

Stimmt das wirklich??? 

In Ansi-C wird man eine Funktion beispielsweise so deklarieren:

int f(int a, int b, float c)
{
   /* Anweisungen */
}

Das moegen aber viele Compiler nicht, sie erwarten die Deklaration im Stil
von Kernighan-Ritchie:

int f(a, b, c)
int a, b;
float c;
{
   /* Anweisungen */
}

In Pascal (ob Turbo oder nicht) gibt es hingegen nur diese eine Lesart:

function f(a, b: integer; c: real): integer;
begin
   { Anweisungen }
end;

Und auch mit der Portabilitaet ist das so eine Sache. Ich hatte ein
C-Programm auf einer SUN laufen, wo die Funktion sprintf den Typ char* hat
und als Rueckgabewert einen Zeiger auf den Ergebnisstring liefert. Als ich
das Programm auf eine HP-Maschine brachte, gab es dort zunaechst jede
Menge Kleinholz, bis ich kapierte, dass dort sprintf den Typ int hat und
die Anzahl bearbeiteter Argumente liefert. Guess what? ('tschuldigung, das
war natuerlich nur was fuer Eingeweihte.)

Gruss,
Eberhard