C Signale Signatur

Gast #3680363
Lesenswert?
• ▲
▼
Hallo Forum,

könnt ihr mal mal erklären wie man den Code lesen muss, ich verstehe die 
"Signatur" des Beispielcodes nicht. Warum kann da das "int signumber;" 
dazwischen sein? Und falls es eine valide Codeform ist, was ist das und 
wie nennt man das?

void sig_usr(signumber)
int signumber;
{
   /* code des signalhandlers */
}
Gast #3680367
Lesenswert?
• ▲
▼
ingo schrieb:
> Das ist eine alte Funktionsdeklaration nach K&R,
> signummer ist im prototypen nur angegeben und wird dann in der nächsten
> Zeile deklariert.

Das stimmt, es handelt sich hierbei um eine alte Schreibweiße.

Nach eheutigem Standard wird es so geschrieben :

void sig_usr( int signumber )

{

...

}
Gast #3680370
Lesenswert?
• ▲
▼
Danke, aber kannst Du das noch etwas ausführlicher beschreiben, bzw ein 
Stichwort für die Suche geben? Ich hab keine Ahnung, wonach ich suchen 
soll.

Ist das nur bei Signalen so? Oder ist das bei K&R für viele Funktionen 
so üblich?
#3680381
Lesenswert?
• ▲
▼
Walter schrieb:
> Danke, aber kannst Du das noch etwas ausführlicher beschreiben, bzw ein
> Stichwort für die Suche geben? Ich hab keine Ahnung, wonach ich suchen
> soll.

Es ist heutzutage, denke ich, schwierig noch Literatur zu finden, die 
sich mit Kerighan Ritchie C beschäftigt, so wie das C früher mal 
ausgesehen hat und mit den Regeln, die damals galten.
Dieses C wird seit rund 25 Jahren nicht mehr 'gesprochen'.

> Ist das nur bei Signalen so? Oder ist das bei K&R für viele Funktionen
> so üblich?

Du missverstehst da etwas. Das ist eine alte Schreibweise. So wie man 
vor 100 Jahren auch in Deutsch noch anders geschrieben und gesprochen 
hat. Einen Goethe im Original zu lesen würde dir genauso seltsam 
vorkommen. Irgendwie scheint in seiner benutzten Sprache alles vertraut 
und dann doch wieder nicht.

K&R C ist spätestens seit dem C89 Standard (aus dem Jahre 1989) obsolet. 
Ganz im Gegenteil, das will man ganz sicher nicht mehr haben. Viel zu 
fehleranfällig.

Wo hast du denn diesen Code-Methusalem ausgegraben? Wenn man sowas 
heutzutage noch sieht, sollte man sich ganz schnell 3 mal bekreuzigen 
und die Hasenpfote suchen gehen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren