Pointerdefinition

#3070779
Lesenswert?

Random ... schrieb:

> Darum verstehe ich diejenigen nicht, die immer
>
1
char* p1;
> schreiben... Schliesslich ist p1 ein pointer auf char (und nicht
> Charpointer p1).


p1       ist der Name der Variable
char *   ist ihr Datentyp

macht für viele Sinn.
IMHO war es nicht dir stärkste Idee von K&R hier einen Bruch in der 
Logik zuzulassen, indem man Pointer-Variablen und normale Variablen in 
ein und derselben Variablen-Definition zulässt.

In C++ ist die Schreibweise  'char* p1' viel weiter verbreitet und man 
löst das angesprochene 'Problem' mittels Disziplin, in dem man pro 
Definition (ausser bei bei den einfachen Standarddatentypen) nur eine 1 
Variable zulässt. Hört sich am Anfang schlimmer an als es ist und 
funktioniert in der Praxis ganz gut.
Gast #3070823
Lesenswert?

Ja, für mich ergibt das Sinn. Links steht der Typ der Variable, rechts 
der Name der Variable. Ich schreibe es immer so.

Und ja, ich definiere niemals mehrere Variablen in einer Zeile.

Blöderweise kollidiert meine "Logik" mit Arrays. Ich würde gerne 
schreiben:
1
int[] a;

In Java geht das sogar. Obwohl ich kein Freund von Java bin muss ich 
doch zugeben, dass man dort manches verbessert hat (gegenüber C/C++).
Moderator #3070825
Lesenswert?

Random ... schrieb:
> Darum verstehe ich diejenigen nicht, die immer
>  char* p1;
> schreiben... Schliesslich ist p1 ein pointer auf char (und nicht
> Charpointer p1).

Dennis Ritchies Jünger schreiben
1
char *p1;

Bjarne Stroustrups Jünger schreiben
1
char* p1;

Atheisten schreiben
1
char * p1;

Polytheisten schreiben
1
char*p1;

So einfach ist da. Suchs' dir aus ;-)

Das Thema wurde hier übrigens schon mehrfach diskutiert

  Beitrag "'char* str' oder 'char *str'"

  Beitrag "Unterschied char* a; char *a;"

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