was bedeutet das Sternchen *

Ganz kurz: Das bedeutet, dass du mal ein C-Buch lesen solltest.

Damit ich hier nicht nur meckere, das zeigt hinter char an, dass die 
Variable str ein Zeiger auf eine Variable vom Typ char ist. In der While 
Schleife zeigt es an, dass du auf den Wert an der Adresse, die durch die 
Variable str angegeben wird, zugreifen willst.
Gast
Das sagt, dass die Variable str ein Zeiger auf ein char ist.

Um an das Zeichen zu kommen, muss man bei dem Zugriff auch den Stern 
benutzen.
Und spätestens jetzt sollte man ein gutes C-Buch lesen.
Bei der Deklaration:
char* str => str ist ein Zeiger, der auf Werte des Datentyps char zeigt.

Im Code:
str  => enthält die Adresse eines Char-Werts
*str => * ist Auflösungsoperator, der Ausdruck liefert den Wert zurück, 
auf den str zeigt. Die Adresse dieses Wertes ist ja in str hinterlegt.

Kauf dir ein C-Grundlagenbuch.
Helmut Herold oder Kernighan/Ritchie sind brauchbar.
mfg mf

PS: An sich ist die Zeigeraarithmetik nur eine Methode der 
Visualisierung fütr dich als Programmierer. Der Mikroprozessor, der den 
Code ausführt, verarbeitet nur Zahlen. Es gibt vielleicht 
Pointer-Register, aber das macht die Zahl noch lang nicht zum Zeiger...
Moderator (Firma: Titel) Persönliche Seite
Karl Heinz Buchegger schrieb:
> Hinter diesem Sternchen versteckt sich ein halber Kosmos
Das '*' ist das, was C von anderen damaligen Programmiersprachen (wie 
Basic und Pascal) unterschied und für den durchbrechenden Erfolg gesorgt 
hat...

Mit Pointern lassen sich dann solche hübschen Sachen machen:   ;-)
1
printf("%c ","0123456789ABCDEF"[i]);
2
printf("%c ",i["0123456789ABCDEF"]);
3
printf("%c ",*("0123456789ABCDEF"+i));
Siehe: http://codepad.org/bmekxhgv
Jörg Wunsch schrieb:
> Lothar Miller schrieb:
>> Das '*' ist das, was C von anderen damaligen Programmiersprachen (wie
>> Basic und Pascal) unterschied
>
> 's ist lange her, aber irgendwas gibt's bei Pascal auch mit Zeigern
> (@ bzw. ^ als Symbol).  Man kann sich dort nur nicht so gut damit ins
> Knie schießen wie bei C. :-)

Lothar hat übertrieben :-)
Pointer gibts in allen ernsthaften Programmiersprachen die in das 
funktionale Paradigma fallen.
Also jetzt mit Ausnahme von Ur-Fortran, BASIC und diesem 'wir räumen 
hinter dir her weil du selbst zu doof bist Ordnung zu halten, dafür 
nennen wir Pointer halt Referenzen oder Referenz-Objekt und du musst mit 
new herumschmeissen wie ein Wilder' Gesocks Sprachen :-)
Gast
Karl Heinz Buchegger schrieb:
> und diesem 'wir räumen
> hinter dir her weil du selbst zu doof bist Ordnung zu halten, dafür
> nennen wir Pointer halt Referenzen oder Referenz-Objekt und du musst mit
> new herumschmeissen wie ein Wilder' Gesocks Sprachen :-)

ROFL,
ich würde es mal so definieren:
"wir räumen hinter dir her weil es erwiesen ist dass ca 80 bis 90% aller 
programmierer zu doof sind das selbst zu tun und auch die besten dier 
immer wieder mal ein haufen Zeit verlieren da ihre fehler zu finden"

Solange ich nicht die letzten 20% der Rechnerperformance brauche 
geniesse ich diese Sprachen wirklich :-)
Frei nach dem Motto, man kann auch auf dem Boden schlafen aber in einem 
ordentlichen Bett liegt sichs einfach bequemer.

No offend, Karl Heinz am besten löscht du meinen Beitrag wieder sonst 
wird vieleicht noch ein bashing thread draus und das war nicht gewollt, 
ich fand nur dein Zitat oben so nett :-)
Gast
Jörg Wunsch schrieb:
> 's ist lange her, aber irgendwas gibt's bei Pascal auch mit Zeigern
> (@ bzw. ^ als Symbol).  Man kann sich dort nur nicht so gut damit ins
> Knie schießen wie bei C. :-)

In Pascal fand ichs nur ziemlich seltsam und unübersichtlich, während es 
in C am ersten Tag dazugehörte und eigentlich logisch war (Von der 
Deklaration von Funktionspointern mal abgesehen :-))
UR-Schmitt schrieb:

> No offend, Karl Heinz am besten löscht du meinen Beitrag wieder sonst
> wird vieleicht noch ein bashing thread draus und das war nicht gewollt,
> ich fand nur dein Zitat oben so nett :-)

:-)
Ist schon klar. Ich will auch keinen Flame-War entfachen und wie ich an 
der Formulierung gefeilt habe, sind mir dann auch ein paar Sprachen 
eingefallen, in denen es tatsächlich keine Pointer gibt (zumindest nicht 
das ich wüsste). Lisp und Prolog fallen mir da zb auf Anhieb ein. Wobei: 
bei Lisp war da was. Lang, lang ists her. CAR und CDR sind im Prinzip 
Pointer und beim Zusammenfügen von Listen muss man aufpassen, welche 
Operation man da jetzt pointermässig macht.

Öl ins Feuer :-)
> Frei nach dem Motto, man kann auch auf dem Boden schlafen aber in
> einem  ordentlichen Bett liegt sichs einfach bequemer.
Das heißt ja nicht, dass ich auf dem Boden schlafe. Aber im Notfall kann 
ich mir mein Bett noch selber bauen :-)
Moderator (Firma: Titel) Persönliche Seite
Karl Heinz Buchegger schrieb:
> Aber im Notfall kann ich mir mein Bett noch selber bauen :-)
Oder wenigstens drauf zeigen. Oder allerwenigstens auf einen zeigen, der 
drauf zeigen kann... ;-)

Jens Plappert schrieb:
> Moderne Basic-Dialekte können natürlich auch Pointer.
> Leute, die Welt ist nicht 1985 stehen geblieben!
Und ein PIC hat jetzt auch Interrupts. Das dürfte sich zeitlich etwa 
decken...  ;-)


Ich hol schon mal das Hefeweizen und die Chips...
Gast
Lothar schrob:
>Ich hol schon mal das Hefeweizen....

Pfui Teufel! Das ist das letzte Gebräu. Da sträuben sich mir die Haare 
auf den Unterarmen.

:-(

MfG Paul
Moderator (Firma: Titel) Persönliche Seite
Paul Baumann schrieb:
> Pfui Teufel! Das ist das letzte Gebräu.
> Da sträuben sich mir die Haare auf den Unterarmen.
Zum Wohlsein!  ;-)

Da war noch die Anekdote, wo ich mal ins norddeutsche zu einer Schulung 
hoch musste, und mein Schüler dann am Montag sagte: "Bitte nicht so 
schnell, ich war gestern weg, habe 8 Bier getrunken und jetzt Kopfweh!"
Da hat man als Lehrer natürlich 1.Respekt (weil 8 Hefeweizen=4 Liter) 
und 2.Einsehen und macht beim Vermitteln der Lernstoffes etwas 
langsamer.
Am Abend gehen wir dann zusammen aus, und er bestellt gleich mal 2 Bier. 
Kommt da dann so ein 0,2er-Sektglas voll gelber Flüssigkeit an, und ich 
frage ihn erschrocken:
"Acht davon und man hat Kopfweh? Mir bitte ein Wasser!"
Gast
O.T.
@Lothar
Ich trinke ausschließlich tschechisches Bier nach Pilsner Brauart. Wenig
davon (teuer), aber gut.

Ich denke, daß es einen Zusammenhang zwischen dem Hefe-Weizenbier-Genuß 
und dem Verständnis für die Sprache "C" geben muß, denn das fehlt mir
vollständig.

Reine Haut schrob:
>Mensch, Hefe ist gut für die Haut.

Das haut nicht hin....
Ich rasiere mich mit der Sichel.
;-)

MfG Paul
Paul Baumann schrieb:
> Lothar schrob:
>>Ich hol schon mal das Hefeweizen....
>
> Pfui Teufel! Das ist das letzte Gebräu. Da sträuben sich mir die Haare
> auf den Unterarmen.

Paul Baumann schrieb:
> Ich rasiere mich mit der Sichel.
> ;-)

Langsam verstehe ich, warum Hefeweizen erst relativ spät in der 
Evolution entstand :-)


Aber im Ernst: die meisten Weizen mag ich auch nicht.
Aber einige sind dafür umso besser. Vielleicht hast du nur noch nicht 
das richtige gefunden?
Was natürlich auch kein Problem ist, wenn du etwas anderes hast, was 
schmeckt.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.