C++ Kurs

Wenn fertig, bitte Fenster schließen

Lösung zur Lektion "Zeiger"


// Lösung zu Zeigern
// Hinweis: Die hier aufgezeigte Lösung geht
// davon aus, dass ein long 4 Bytes lang ist


// Zuerst Datei iostream einbinden
#include <iostream>

using std::cout;
using std::endl;

// char-Zeiger definieren
const char *pcPtr;
// long Variable definieren und initialisieren
long lVar1 = 0x12345678L;

// main() Funktion
int main ()
{
   // Ausgabe in Hex mit Zahlenbasis
   cout << std::hex << std::showbase;

   // long Variable in Byte-Darstellung ausgeben
   // Zuerst die Adresse der long-Variablen im Zeiger ablegen

   pcPtr = reinterpret_cast<char*>(&lVar1);
   // long Wert und 1. Byte in Hex ausgeben
   cout << lVar1 << " liegt wie folgt im Speicher:" << endl;
   cout << static_cast<int>(*pcPtr) << ",";
   // 2..4 Bytes ausgeben
   pcPtr++;
   cout << static_cast<int>(*pcPtr) << ",";
   pcPtr++;
   cout << static_cast<int>(*pcPtr) << ",";
   pcPtr++; cout << static_cast<int>(*pcPtr) << endl;

   // char-Zeiger auf den String "ABCD" setzen
   pcPtr = "ABCD";
   cout << "String ist: " << pcPtr << endl;
   // und nun die Zeichen durch Komma getrennt ausgeben
   cout << "In Buchstaben: " << *pcPtr << ",";
   pcPtr++;
   cout << *pcPtr << ",";
   pcPtr++;
   cout << *pcPtr << ",";
   pcPtr++;
   cout << *pcPtr << endl;
}