Wenn fertig, bitte Fenster schließen
|
// 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; } |