Deklarowanie wskaźników do zmiennej oraz przypisywnie im adresu

0

Witam. Mam do napisania program tego typu.

Napisz program, w którym zadeklarujesz wskaźnik do zmiennej oraz przypiszesz mu
odpowiedni adres. Następnie spraw, aby wartość zmiennej została wypisana na
ekranie na dwa sposoby: poprzez bezpośrednie odniesienie do zmiennej oraz
poprzez wskaźnik. Wyświetl również na ekranie adres zmiennej (na dwa sposoby).
Przykład
Wartosc zmiennej a: 155
Wartosc zmiennej a wypisana poprzez wskaznik: 155
Adres zmiennej a: 2293572
Adres zmiennej a wypisana za pomoca zmiennej wskaznikowej: 2293572 

Korzystając z kursów znalezionych w internecie napisałem to:

#include <iostream.h>
#include <conio.h>

int main()
{
int a=155;
int *wsk;
wsk=(&a);
cout<<"Wartosc zmiennej a:"<<a <<endl;
cout<<"Wartosc zmiennej a wypisana poprzez wskaznik:"<<(*wsk) <<endl;
cout<<"Adres zmiennej a:"<<(&a) <<endl;
cout<<"Adres zmiennej a wypisana za pomoca zmiennej wskaznikowej:"<<wsk <<endl;

 
getch(); 
       return 0;
} 

A moje pytanie jest następujące. Wiem, że adres zmiennej jest przypisywany losowo ale mi zamiast liczby całkowitej wyświetla zawsze 0x28ff44. I nie wiem całkowicie co powinienem zmienić w kodzie.
Z góry dziękuje za wszelką pomoc.
Pozdrawiam

0

Wiem, że adres zmiennej jest przypisywany losowo
Adres zmiennej nie jest przypisywany losowo, więc ten sam adres nie jest błędem.

zamiast liczby całkowitej wyświetla zawsze 0x28ff44
To jest liczba całkowita, po prostu wyświetlana w formacie szesnastkowym - to typowe dla adresów.

Jeśli mimo wszystko chcesz go wyświetlić w formacie dziesiętnym, najprostszym sposobem jest użycie rzutowania:

cout<<"Adres zmiennej a:"<< (unsigned int) (&a) <<endl;
cout<<"Adres zmiennej a wypisana za pomoca zmiennej wskaznikowej:"<< (unsigned int) wsk <<endl;
0

<quote=DRK>

Jeśli mimo wszystko chcesz go wyświetlić w formacie dziesiętnym, najprostszym sposobem jest użycie rzutowania:

cout<<"Adres zmiennej a:"<< (unsigned int) (&a) <<endl;
cout<<"Adres zmiennej a wypisana za pomoca zmiennej wskaznikowej:"<< (unsigned int) wsk <<endl;

Mam nadzieję, że sobie żartujesz bo głupoty piszesz.

0

ogromne dzięki. Właśnie o to mi chodziło.

1 użytkowników online, w tym zalogowanych: 0, gości: 1