eigenartige Syntax
-
void Funktionsname ( Param1, Param2 ) unsigned char test[16]; { // ... }kann mir jemand erklären, wieso das "unsigned char test[16]" hinter der parameterliste steht? danke
-
void Funktionsname ( Param1, Param2 ) unsigned char test[16]; { // ... }Das das kompilierbar ist, kann ich mir nicht vorstellen.
Möglich wäre
void Funktionsname(test) unsigned char test[16]; { ... }Dabei handelt sich es um eine Funktionsdefinition im alten Kernighan/Richie-C.
Ob das von den heutigen Compilern noch unterstützt wird, ist fraglich.
Auf jeden Fall nicht mehr in C++
-
ja genau wie du es korrigiert hast, so meine ich es!

und was bedeutet die 2. zeile nun? danke!
-
In diesem, veralteten, C wurden die Typen nicht mit in die Klammerliste
geschrieben, sondern nur die Parameter-Namen.Hinter der schließenden runden Klammer und vor der öffnenden geschweiften,
mußten dann die Parameter mit ihren zugehörigen Typen wiederholt werden.Die main-Routine hieß damals so:
[cpp]
int main(argc, argv, envp)
int argc;
char *argv;
char **envp;
{
...
}Dies geschah aus dem Grund da damals der Code so klein wie möglich sein
sollte und man sich die Typangabe schenken wollte. Wurde nämlich kein
Typ angegeben, ging der C-Compiler einfach davon aus daß es sich um
ein integer handelt.Da integer auf Unix-Kisten schon immer 4 Byte lang war, auf MS-Dosen jedoch
nur 2 Bytes, wurden char* auch nicht deklariert und einfach als int angenommen
wurde.
-
Cool! DANKESCHÖN!!!! Hat mir sehr geholfen.
