was bedeutet das Sternchen *

#2725244
Lesenswert?

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.
#2725250
Lesenswert?

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 #2725306
Lesenswert?

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
#2725322
Lesenswert?

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 #2725343
Lesenswert?

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 #2725347
Lesenswert?

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 :-))
#2725356
Lesenswert?

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 #2725588
Lesenswert?

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...
#2725600
Lesenswert?

Lothar Miller schrieb:
> 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... ;-)

Ich kenn jemanden, der hat einen Laserpointer :-)

> Ich hol schon mal das Hefeweizen und die Chips...
                        **********

Das war jetzt gemein, bei der Hitze hier.
Moderator (Firma: Titel) Persönliche Seite #2726196
Lesenswert?

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 #2726262
Lesenswert?

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
#2726309
Lesenswert?

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

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