Jaki jest adres pamięci?
A Adres pamięci to liczba sześciokadciowca, która identyfikuje lokalizację danych lub instrukcji programu w pamięci komputera i może być trudny dla początkujących. Aby bezpośrednio odczytać i modyfikować Adresy pamięci, Potrzebne są wskaźniki. Aby znaleźć adres zmiennej, użyj operatora „&”. Istnieje zmienna wskaźnika, w której prowadzony jest adres.
Zrozumienie, w jaki sposób ułożona pamięć ma kluczowe znaczenie dla lepszego zrozumienia Adresy pamięci. Bajty tworzą pamięć w programowaniu C, a adresy wskazują, gdzie znajduje się początek każdego bajtu. Innymi słowy, każdy bajt w pamięci ma unikalny Adres pamięci. Zmienna, która przechowuje liczbę, zajmuje określoną ilość miejsca pamięci w bajtach i Adres pamięci odpowiada początkowym bajtom zmiennej.
Jak znaleźć adres pamięci?
Istnieją dwa sposoby znalezienia Adres pamięci w języku programowania C.
Metoda 1: Za pomocą operatora „&”
Do znalezienia zmiennej można użyć operatora „&” lub ampersand w programowaniu C Adres pamięci. Ten operator pobiera adres zmiennej w ramach programu. Spójrz na poniższy przykład, aby lepiej zrozumieć tę metodę.
#włączaćW powyższym kodzie zmienna liczb całkowita „num” Z wartością 40 jest zdefiniowane. Wartość „num” i jego Adres pamięci jest następnie drukowany za pomocą printf () funkcja i specyfikatory formatu odpowiednio %d i %p. '& Num' Wyrażenie zwraca Adres pamięci NUM, który jest następnie pokazany przy użyciu specyfikatora formatu %p w formacie szesnastkowym.
Wyjście
Notatka: Tę samą metodę można zastosować w celu znalezienia adresu zmiennych zmiennoprzecinkowych lub ciągłej w programowaniu C.
Metoda 2: Za pomocą wskaźnika
W programowaniu C możliwe jest również określenie Adres pamięci za pomocą wskaźnika. Adres regionu pamięci jest przechowywany w określonym typie danych o nazwie wskaźnik w języku C. Są często używane w C do manipulowania pamięcią komputera. Znaleźć Adres pamięci W programowaniu C za pomocą wskaźnika postępuj zgodnie z podżegającymi krokimi:
Krok 1: Początkowy krok w zlokalizowaniu Adres pamięci jest utworzenie zmiennej wskaźnika. Aby utworzyć zmienną wskaźnika w C, nazwa zmiennej jest poprzedzona przez znak gwiazdkowy (*). Poniższy kod wyjaśnia, jak skonstruować „PTR” zmienna wskaźnika.
int *ptr;Notatka: Lokalizacja pamięci zmiennej zapisanej w zmiennej wskaźnika jest wskazana przez znak gwiazdkowy (*). Proces ten nazywa się dereferencjami.
Krok 2: Zmienna wskaźnika otrzyma następnie lokalizację w pamięci. Adres pamięci istniejącej zmiennej jest przypisywana do zmiennej wskaźnika za pomocą „&” operator. Oto prosty przykład:
int var = 5;Poniższy przykład pokazuje Adres pamięci w C za pomocą wskaźnik.
#włączaćPowyższy kod deklaruje zmienną wskaźnika ptr wskazać adres zmiennej liczb całkowitych numer o wartości 100. printf () Następnie funkcja jest używana do wydrukowania Adresy pamięci liczby przy użyciu specyfikatora formatu %p, który drukuje adres pamięci w formacie szesnastkowym.
Wyjście
Ważne jest, aby pamiętać, że Adres pamięci zmiany w zależności od systemu operacyjnego, na którym działa kod. Adres pamięci Zwracane w każdym systemie będzie się różnić na przykład, jeśli identyczny kod zostanie uruchomiony na dwóch oddzielnych komputerach. Dlatego zaleca się działanie z względnymi adresami pamięci, a nie kodującymi twardymi Adresy pamięci w kodzie.
Wniosek
W programowaniu C, Adresy pamięci są kluczowe dla modyfikacji i dostępu do danych. Aby programowanie było skuteczne, konieczne jest zrozumienie, jak znaleźć Adresy pamięci. W programowaniu C używamy Operator Ampersand (i) i wskaźnik do znalezienia Adres pamięci. Ponieważ wskaźniki mogą być używane do bezpośredniego dostępu i modyfikacji Adresy pamięci, Są ważne dla wdrażania programów. Programiści mogą korzystać Adresy pamięci napisać udany kod, pamiętając o tych podstawach.