Speicheradressen von Variabeln, Pointer un co.
-
Hallo liebes Forum,
nach nunmehr 5 Jahren PHP und 1 Semester Java habt ich mich dazu entschlossen C zu lernen. Ich hoffe ich kann hier ein paar Fragen zu meinem Verständnis stellen, die in meinem Buch (welches ich lese) nicht ausreichend geklärt werden.Meine erste Frage stellt sich:
Wie sehen die Speicheradressen von Variablen aus?Ich habe mir mal eine Auslesen lassen:
0x100000f32Was sagt diese Adresse jetzt wirklich aus? Ist das eine Spezielle Darstellungsweise?
Ich habe mir bei Google ein Beispiel Tutorial zu diesem Thema durchgelesen (darin ging es um C++, was laut der Aussage der Seite kein großer Unterschied sein soll). Dort wurde jedoch von Reelen Zahlen gesprochen, speziell von Normalen Zahlen.Ich hoffe ihr könnt mich aufklären!
Danke im Voraus, JanM.
-
Adressen sind Zahlen, genauer gesagt positive Ganzzahlen. "0x" als "Vorsilbe" ist einfach nur Konvention und bedeutet dass die Zahl danach in Hexadezimalschreibweise angegeben ist. Andere Konventionen sind "0" als Vorzeichen für das Oktalsystem und einfach nichts für das Dezimalsystem. Da es bei Speicheradressen wenn man sie denn braucht oftmals praktisch ist diese in Hexadezimal zu haben ist dies die Standardform der Ausgabe von Pointern.
edit: Und was reelle und normale Zahlen angeht: Da hast du sicher was falsch verstanden. So etwas gibt es in Digitalcomputern nicht (was den Numerikern einige Kopfzerbrechen bereitet).
P.P.S.: Und welche Sprache denn nun? C (wie du schreibst)? Oder C++ (wo du fragst)? Es gibt bei solch speziellen technischen Themen zwar keinen Unterschied, aber die Sprachen sind dennoch sehr unterschiedlich und falls du mehr Fragen hast solltest du beim nächsten Mal das richtige Unterforum wählen.
-
Erst einmal: sehr vielen Dank für diese Erklärung.
Das nächste Mal werde ich im C Unterforum posten, wird nicht wieder passieren.
Grüße und einen schönen Tag, JanM.