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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.