C Frage zu Pointern | char *mask3(char *teststring, char *wort)

BaseUser

Ensign
Dabei seit
Feb. 2005
Beiträge
200
Hallo,

meine Frage wird für Profis wahrscheinlich recht einfach sein...

Was bedeutet das * vor mask3 bei der Funktion

char *mask3(char *teststring, char *wort)

? Könnte mir das jemand erklären? :)

char *teststring, char *wort stellen ja Pointer da, aber das * vor mask3 verstehe ich nicht...

Stellt das die Startadresse im Speicher für die Funktion mask3 dar?
 
Nein, das ist genau so wie bei char *teststring ein Pointer auf einen Character - und da der Ausdruck so vor dem Funktionsnamen steht, bedeutet das, dass die Funktion einen Zeiger auf einen Character zurückliefert.
 
Das ist genau die Schreibweise die zur Verwirrung führt.
Ich ziehe es vor den *-Operator immer an den Datentyp zu schreiben. Bei mir sähe die Funktion so aus:
Code:
char* mask3(char* teststring, char* wort)
Ich finde es einfach besser wenn ich sofort erkenne, dass es sich um einen Zeiger handelt. Code bei dem nach dem Typ erst ein Leerzeichen und dann der * kommt verwirrt mich immer.

BaseUser ist genau auf das hereingefallen.
 
Zitat von Boron:
Das ist genau die Schreibweise die zur Verwirrung führt.
Ich ziehe es vor den *-Operator immer an den Datentyp zu schreiben. Bei mir sähe die Funktion so aus:
Code:
char* mask3(char* teststring, char* wort)
Ich finde es einfach besser wenn ich sofort erkenne, dass es sich um einen Zeiger handelt. Code bei dem nach dem Typ erst ein Leerzeichen und dann der * kommt verwirrt mich immer.
Bei dieser Schreibweise fällt man aber bei
Code:
int* foo, bar; // foo ist ein Pointer, bar ein int
rein. Die Syntax von C führt zwangsläufig irgendwann zu Verwirrung, da lässt sich nichts dran ändern. ;)
 
Zuletzt bearbeitet:
Code:
// foo ist ein Pointer, bar ein int
int* foo;
int  bar;
So gibt es keine Chance für Verwirrung :).
Aber wir schweifen ab. Das wird zur einer Diskussion über "Programmierstil". Und diese Art Diskussion artet erfahrungsgemäß schnell zu einem Glaubenskrieg aus.
 
Ich schließe mich der Konvention von Boron an. Deklarationen von Variablen sollten pro Zeile erfolgen. Das erhöht auch die Lesbarkeit.
 
Zurück
Top