Studium, Ausbildung und Beruf
 StudiumHome   FAQFAQ   RegelnRegeln   SuchenSuchen    RegistrierenRegistrieren   LoginLogin

Pointer in C
Neues Thema eröffnen   Neue Antwort erstellen
Foren-Übersicht -> Informatik-Forum -> Pointer in C
 
Autor Nachricht
Matthias20
Moderator
Benutzer-Profile anzeigen
Moderator


Anmeldungsdatum: 25.05.2005
Beiträge: 11789
Wohnort: Hamburg

BeitragVerfasst am: 01 Jan 2007 - 16:17:01    Titel: Pointer in C

Hallo zusammen,

kann mir jemand erklaeren, was diese Zeile aussagt bzw. macht?

=> *pd += (double) *pi;

Deklaration:
double *pd;
short *pi;

Der Castoperator mit 'double' verwirrt mich etwas. Es ist doch richtig, dass der Pointer pd wie folgt erhoeht wird:

*pd = *pd + (double) *pi;

Richtig?

Es seien noch folgende Informationen gegeben:

pd: Adresse: 1440 und Inhalt: 1430

pi: Adresse: 1300 und Inhalt: 1100

Ich wuerde jetzt sagen, dass sich der Speicherinhalt von pd wie folgt erhoeht: *pd = 1430 + 1100

Oder erhoeht sich *pd um 8 (Byte) aufgrund des Cast Operators?

Gruss:


Matthias
Matthias20
Moderator
Benutzer-Profile anzeigen
Moderator


Anmeldungsdatum: 25.05.2005
Beiträge: 11789
Wohnort: Hamburg

BeitragVerfasst am: 01 Jan 2007 - 17:38:22    Titel: Re: Pointer in C

Matthias20 hat folgendes geschrieben:

=> *pd += (double) *pi;


oder wird hier einfach nur aus dem Pointer *pi des Typs SHORT ein Pointer des Typs DOUBLE gemacht, damit beide Pointer vom selben Typ sind und somit die Rechnung funktioniert?!

Also muesste dann doch fuer *pd gelten: *pd = *pd + *pi = 1430 + 1100 = 2530

Question

Gruss:


Matthias
Neoxim
Full Member
Benutzer-Profile anzeigen
Full Member


Anmeldungsdatum: 28.10.2006
Beiträge: 138

BeitragVerfasst am: 01 Jan 2007 - 23:09:23    Titel:

es werdeb nur die inhalte addiert, also 1430 + 1100 = 2530
Matthias20
Moderator
Benutzer-Profile anzeigen
Moderator


Anmeldungsdatum: 25.05.2005
Beiträge: 11789
Wohnort: Hamburg

BeitragVerfasst am: 02 Jan 2007 - 07:55:03    Titel:

Neoxim hat folgendes geschrieben:
es werdeb nur die inhalte addiert, also 1430 + 1100 = 2530


ok, danke dir. Dann habe ich es auch verstanden.

Gruss:


Matthias
Beiträge der letzten Zeit anzeigen:   
Foren-Übersicht -> Informatik-Forum -> Pointer in C
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

Chat :: Nachrichten:: Lexikon :: Bücher :: Impressum