Hallo Onyx,
Sowas kann man zwar in C machen, schön ist es aber
nicht.
Ja, ich weiß. Es ist nicht sehr elegant, aber für mein
Vorhaben reicht das aus - vorausgesetzt ich bekomme es hin.
Kannst Du Dein Vorhaben kurz
skizzieren, vielleicht gibt es
da ein „typisches“ C-Idiom,
welches man dann anwenden würde.
- Wieso wird der ‚*‘ im Funktionskopf an den Namen geklammert?
Gehört dieser nicht zum ‚char‘? Was bewirkt die Klammerung?
(sieht für mich wie ein Funktionszeiger aus)
Das ist in C eine frage der „Präzedenz“,
da [] sehr „klebrig“ ist, muss man gegen
[] klammern, wenn man die „Klebrigkeit“
gerade nicht braucht.
Du nimmst z.B.:
char \* zeiger [40][40];
Ohne Klammerung wäre das ein
2D-Array (40x40) von char*-Zeigern,
also:
(char\*) (zeiger[40][40])
genau das was Du brauchst.
Jetzt weisst Du auch, warum man
in Java die Reihenfolge geändert
hat
char [][] arr = new char[40][40];
- An welcher Stelle im Funktionskopf muss ich ‚KlassenName::‘
unterbringen, wenn ich das ganze als externe Methode
implementiere?
Was ist eine „externe Methode“? Ich kenne
Objektmethoden wie obj.method() und
statische Methoden wie CLASSNAME::Method()
letztere sind nicht an Objekte gebunden, erstere schon.
- Was machen die Funktionen ‚memset()‘ und ‚putchar()‘?
- Was bewirken die verschachtelten for-Schleifen in der
main-Methode?
‚memset‘ füllt den angegebenen Speicherbereich
(hier das array) mit einem bestimmten Wert (‚A‘)
siehe -> http://www2.fh-fulda.de/~klingebiel/c-stdlib/string.htm
‚putchar‘ gibt einfach ein Zeichen auf
die Standardausgabe aus, also sowas
wie System.out.print( zeichen )
siehe --> http://www2.fh-fulda.de/~klingebiel/c-stdlib/stdio.htm
Schreib mal genauer, was Du eigentlich
vorhast
Grüße
CMБ