Forum: PC-Programmierung C Syntax unbekannt !


von Leidenschaftlicher C Programmierer (Gast)


Lesenswert?

Hallo, ich steh hier vor einer für mich unverständlichen Codezeile:

static void * allocfx (n) size_t n;
{
   ...
}

was hat das size_t bzw. n dahinter zu suchen. Hab so eine Syntax noch 
nie gesehen!

von Maniac (Gast)


Lesenswert?

Guten Morgen,

Ich muss zugeben, ich hab sowas auch noch nicht gesehn. Mich würde aber 
einmal interessieren, was der Compiler dazu sagt. Leider habe ich im 
Moment keinen Rechner zur Hand, sonst würde ich es selbst mal testen.
Welchen Compiler nimmst du? Vielleicht ist es eine spezielle Erweiterung 
eines Compilers, wie es z.B. Borland gerne praktiziert.

mfg
Maniac

von Gast (Gast)


Lesenswert?

Das ist uralter K&R Style. Damit wird der Datentyp des Arguments "n" 
festgelegt, d.h. die Funktion "allocfx" erwartet ein Argument vom 
Datentyp "size_t".

K&R:  static void * allocfx (n) size_t n; { ... }
ANSI: static void * allocfx (size_t n) { ... }

K&R Style Prototypes sollte man aber seit 20 Jahren nicht mehr nutzen. 
Auf Altlasten kann man natürlich immer mal wieder stoßen.

von Leidenschaftlicher C Programmierer (Gast)


Lesenswert?

Bin noch relativ jung. Daher für mich unbekannter Stil. Google will da 
auch nicht.
Bei so was ist man auf die "alten Hasen" angewiesen.

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

Eben, durch einen ANSI-C-Compiler duerfte sowas eigentlich garnicht 
durch gehen ;)

von yalu (Gast)


Lesenswert?

Michael G. schrieb:

> Eben, durch einen ANSI-C-Compiler duerfte sowas eigentlich garnicht
> durch gehen ;)

Doch, natürlich. Sogar in ISO-C99 gibt es diese Schreibweise noch, wohl
hauptsächlich aus Kompatibilitätsgründen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.