Forum: Compiler & IDEs struct oder zeiger auf struct?


von Sina A. (sinapse)


Lesenswert?

Hallo,

immernoch beim C-"Studium"....

ich habe hier
1
struct rect r, *rp=r;

meine Frage ist jetzt was r genau ist.  ist r ein struct oder ein zeiger 
auf ein struct?

---------------------------

ich dachte immer r waere ein struct... aber dann müsste es doch bei der 
zuweisung
1
struct rect r, *rp=&r;

lauten, um den zeiger rp mit der adresse von r zu initialisieren?

---------------------------

wenn r jedoch schon ein zeiger auf ein struct ist, dann wäre ja rp ein 
zeiger auf einen zeiger auf ein struct?


ich bin verwirrt....

von Oliver S. (oliverso)


Lesenswert?

sina anargo schrieb:
> ich habe hier
> struct rect r, *rp=r;
...
> ich bin verwirrt....

Und das ist auch gut so. Die Zeile sollte sich gar nicht compilieren 
lassen, denn du hast da schon ganz richtig verstanden.

Oliver

von Udo S. (urschmitt)


Lesenswert?

sina anargo schrieb:
> ich habe hier
> struct rect r, *rp=r;

Sowas stammt noch aus der Zeit als man Lochkarten stanzen musste und 
deshalb Zeilen sparen wollte.
Heute darf man gern eine extra Zeile nehmen. Zeilenumbrüche schreibt der 
Editor und compiliert der Compiler meist kostenlos.

Und ja da muss ein Adressoperator dazu, wie mein Vorredner auch schon 
sagt.

Ausserdem darf man gerne Variablen sprechend bezeichnen, daß die 
möglichst nur ein oder 2 Zeichen lang sein sollen stammt noch aus der 
Zeit als 32KB Hauptspeicher noch > 1000 DM gekostet hat

von Sina A. (sinapse)


Lesenswert?

witzig... hast recht, lässt sich bei mir auch nicht compilieren. hab das 
aus dem K&R C programming language 2 auflage und daher erst gar nicht 
angezweifelt... oder ging das gar bei den alten c-compilern?

von Bitflüsterer (Gast)


Lesenswert?

sina anargo schrieb:
> witzig... hast recht, lässt sich bei mir auch nicht compilieren. hab das
> aus dem K&R C programming language 2 auflage und daher erst gar nicht
> angezweifelt... oder ging das gar bei den alten c-compilern?

Wirklich? Du hast diese Zeile
1
struct rect r, *rp=r;
aus dem Kernighan/Ritchie?

Das wäre bemerkenswert. Könntest Du bitte die Kapitelnummer, die Seite 
und die Sprache (Deutsch, Englisch) angeben?

von Sina A. (sinapse)


Lesenswert?

ist dieses buch:

http://www.amazon.de/gp/product/3446154973/ref=pd_lpo_sbs_dp_ss_2?pf_rd_p=479289147&pf_rd_s=lpo-top-stripe&pf_rd_t=201&pf_rd_i=0131103628&pf_rd_m=A3JWKAKR8XB7XF&pf_rd_r=1EMBK2T8NQXMD5D7TG9V

irgendwo bei Vektoren von Strukturen... genaue seitenangabe kann ich 
spaeter machen wenn ich zu hause bin

lg

von Bitflüsterer (Gast)


Lesenswert?

sina anargo schrieb:
> ist dieses buch:
>
> 
http://www.amazon.de/gp/product/3446154973/ref=pd_lpo_sbs_dp_ss_2?pf_rd_p=479289147&pf_rd_s=lpo-top-stripe&pf_rd_t=201&pf_rd_i=0131103628&pf_rd_m=A3JWKAKR8XB7XF&pf_rd_r=1EMBK2T8NQXMD5D7TG9V
>
> irgendwo bei Vektoren von Strukturen... genaue seitenangabe kann ich
> spaeter machen wenn ich zu hause bin
>
> lg

Ich habe ein Erratum unter 
http://cm.bell-labs.com/cm/cs/cbook/2ediffs.html gefunden. Leider in 
Bezug auf die englischen Ausgaben, aber da die Kapitelnummern angegeben 
sind, wohl auch von gewissem Wert für die deutschen Ausgaben. Jedenfalls 
ist die fragliche Stelle auch dort aufgeführt. Es handelt es sich 
tatsächlich um einen Fehler.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.