Wskaźnik (typ danych)
typ danych, służący do reprezentowania adresów w pamięci komputera / Z Wikipedii, wolnej encyclopedia
Drogi AI, mówmy krótko, odpowiadając po prostu na te kluczowe pytania:
Czy możesz wymienić najważniejsze fakty i statystyki dotyczące Wskaźnik (typ danych)?
Podsumuj ten artykuł dla 10-latka
W językach programowania pozwalających na bezpośredni dostęp do pamięci (jak np. asembler, C, C++, Cyclone) pamięć jest reprezentowana jako jednowymiarowa tablica bajtów – wszystkie zmienne (statyczne i dynamiczne) są umieszczane w tej „tablicy”.
Ten artykuł należy dopracować |
Wskaźnik jest indeksem do tej tablicy – najczęściej ów indeks jest jednocześnie logicznym adresem. Zwykle istnieje też specjalny symbol, który określa wskazanie jako puste. W językach C, Cyclone jest to NULL, w C++ nullptr, w Pascalu nil. Wskaźnik taki nie wskazuje na nic (konkretnie: jego wartość liczbowa jako adresu jest równa 0), gdyż w nowoczesnych systemach operacyjnych żaden proces nie ma dostępu do komórki pamięci o adresie 0, stąd też jest ona wykorzystywana do oznaczenia wskazania do niczego. Wartość ta służy np. do oznaczania końca listy jednokierunkowej, liści drzewa binarnego itp.
W nowszych językach takich jak Java czy C# zamiast wskaźników używa się ulepszonej formy referencji, które nigdy nie mogą wskazywać na przypadkowy adres pamięci, mogą jedynie wskazywać na rzeczywisty obiekt lub mieć wartość null. Eliminuje to całą kategorię błędów wynikających z próby interpretacji przypadkowego fragmentu pamięci jako obszaru zawierającego konkretne, użyteczne dane. Nie dają one jednak pełnej kontroli nad pamięcią i uniemożliwiają wykorzystanie wskaźników do szybkiego poruszania się po tablicy.