Po co się samobiczować no chyba, że ktoś lubi takie zabawy. Ale wracając do tematu
Jak widzę, po wcześniejszych komentarzach to problem został rozwiązany. Co do wskaźników:
int zmienna1=5; \\zmienna, czyli liczba
int* wsk_zmienna1; \\wskaźnik, czyli adres.
wsk_zmienna1=&zmienna1; \\inicjalizacja wskaźnika adresem zmienna1,
\\dlatego znak & się pojawia
\\przypisanie adresu do adresu
int zmienna2=*wsk_zmienna1; \\przypisanie do zmienna2 wartości wyłuskanej spod wskaźnika wsk_zmienna1
\\czyli do zmiennej(liczby) przypisujesz zmienną (liczbę)
Można powiedzieć, że każda zmienna ma następujące atrybuty:
- typ, czyli do przechowywania jakichś wartości jest przeznaczona oraz wiąże się z tym ile pamięci musi być na nią przeznaczone,
- nazwa - żeby nam programistom było poręczniej się nią obsługiwać
- adres - miejsce w pamięci, gdzie jest przechowywania
- wartość - to co przechowuje, np. liczba całkowita, liczba zmiennoprzecinkowa, łańcuch znakowy.
Więc do posługiwania się zmienną możesz używać albo jej nazwy albo jej adresu.
Użycie nazwy zostało pokazane w pierwszej instrukcji kodu, który zamieściłem. Przypisuję tam do zmiennej liczbę 5.
Drugą instrukcją było utworzenie wskaźnika, czyli zmiennej przechowywującej adres. Następnie dokonałem inicjalizacji utworzonego wcześniej wskaźnika. Wskaźnik przechowuje adres, więc powinienem mu przypisać jakiś adres. Do wyciągnięcia adresu zmiennej służy operator &. Dzięki temu do wskaźnika wsk_zmienna1 przypisałem adres zmiennej o nazwie zmienna1.
Ostatnia instrukcja w kodzie to utworzenie zmiennej zmienna2 do której przypisałem wartość znajdującą się pod adresem przechowywanym przez wskaźnik wsk_zmienna1. Jeśli chcę coś przypisać do zmiennej przechowującą liczbę, to musi być to liczba. Do wyciągnienia wartości spod wskaźnika, służy operator *. Po wyciągnięciu wartości znajdującej się pod danym adresem (wskaźnikiem) mogę ją spokojnie przypisać do zmiennej zmienna2.
Co do początkowych bojów ze wskaźnikami, radziłbym uwagę, może nie aż taką jak przy przechodzeniu przez nierozminowane pole minowe. Ale po prostu zastanowienie sie nad czym w danej chwili operujesz, czy nad wartością czy na adresem. Załóżmy masz utworzoną zmienną, utworzony wskaźnik i chcesz przypisać adres zmiennej do wskaźnika. Piszesz nazwę wskaźnika, stawiasz operator przypisania i kminisz "Po lewej stronie przypisania jest wskaźnik, czyli do niego muszę przypisać jakiś adres. Czyli muszę wyciągnąć adres tej utworzonej wcześniej zmiennej, czyli po prawej stronie przypisania stawiam &zmienna".