Dzien dobry.Czemu "program" nie pozwala mi na zarezerwowanie jeszcze raz pamięci skoro poprzednią rezerwacje usunąłem.
I kolejne pytanie.
&wiek wypisuje adres ale CZEMU samo wiek bez tego --> & tez wypisuje adres,inny?
Dzien dobry.Czemu "program" nie pozwala mi na zarezerwowanie jeszcze raz pamięci skoro poprzednią rezerwacje usunąłem.
I kolejne pytanie.
&wiek wypisuje adres ale CZEMU samo wiek bez tego --> & tez wypisuje adres,inny?
Wklejaj kod jako kod, a nie obrazki. Ogółem: https://dsp.krzaq.cc/post/445/jak-zadawac-pytania-na-forum/
Dodatkowa przydatna lektura: https://dsp.krzaq.cc/post/176/ucze-sie-cxx-kiedy-uzywac-new-i-delete/
Próbujesz zdefiniować nową zmienną o podanej nazwie w tym samym zakresie. Tego zrobić nie wolno, ale możesz przypisać wartość do już istniejącej zmiennej (wskaźnik to też zmienna)
Wskaźnik to też obiekt/zmienna. Ma swój adres, który jest różny od adresu, na który wskazuje.
Bo Ty zmienną jeszcze raz próbujesz utworzyć, a nie przypisać do niej coś nowego.
kq napisał(a):
Wklejaj kod jako kod, a nie obrazki. Ogółem: https://dsp.krzaq.cc/post/445/jak-zadawac-pytania-na-forum/
Dodatkowa przydatna lektura: https://dsp.krzaq.cc/post/176/ucze-sie-cxx-kiedy-uzywac-new-i-delete/
Próbujesz zdefiniować nową zmienną o podanej nazwie w tym samym zakresie. Tego zrobić nie wolno, ale możesz przypisać wartość do już istniejącej zmiennej (wskaźnik to też zmienna)
Wskaźnik to też obiekt/zmienna. Ma swój adres, który jest różny od adresu, na który wskazuje.
Okej będę wstawiac tekst w postaci kodu.
1.Czyli delete usuwa adres zarezerwowany dla zmiennych wskaznika a nie sam wskaznik.Wskaznik zostaje.Wskaznik i jego adres ?
2."wiek" pokazuje adres przypisanej wartosci do wskaznika a "&wiek" pokazuje adres samego wskaznika czy na odwrot ?
Tak i tak. :)
Przy czym to pierwsze trochę nieprecyzyjne. delete
zwalnia pamięć, która była zaalokowana i na którą wskazywał ten wskaźnik.
Jeszcze dodam, że new[]
idzie w parze z delete[]
.
YooSy napisał(a):
Jeszcze dodam, że
new[]
idzie w parze zdelete[]
.
W tych nawiasach przy delete nie musze wpisywac ilosci elementow? jezeli np uzylem
int *wiek=new int[10];
i potem
delete[] wiek; czy delete[10] wiek;
Nie musisz, a nawet nie możesz. Ale jeśli chodzi o new/delete to polecam mój wpis na blogu oraz jakieś kursy w przypadku poszerzania wiedzy.