
Czym jest zmienna w programowaniu?
Zmienna to jednostka danych, która może mieć różne znaczenia. Jest to miejsce w programie, gdzie możemy przechowywać informacje, które odnoszą się do wykonującego się kodu. W programowaniu komputerowym zmienne występują w wielu różnych typach. Statyczne, dynamiczne, klasowe i zewnętrzne są wszystkimi typami zmiennych. Zrozumienie ich jest niezbędne do zrozumienia programowania komputerowego. Mam nadzieję, że ten artykuł pomoże Ci zrozumieć te pojęcia i wykorzystać je we własnym kodzie.
Static
Zmienna statyczna to stała, która jest współdzielona przez wszystkie instancje danej klasy. Nie jest tworzona ani zmieniana przez żaden pojedynczy obiekt i nie ma do niej dostępu sam obiekt. W C# zmienna statyczna jest tym samym co zmienna współdzielona, że dzieli tę samą wartość pomiędzy wszystkie obiekty klasy. Nazwa zmiennej statycznej jest nazwą klasy. Służy ona do przechowywania nazwy klasy w pamięci.
Zmienna statyczna jest tworzona tylko raz w programie. Jest tworzona raz, gdy wprowadzana jest funkcja i istnieje do końca programu. Ten typ zmiennej jest najlepszy dla funkcji lokalnych, ponieważ istnieje tylko w obrębie funkcji, w której została zadeklarowana. Jeśli zmienna statyczna jest zdefiniowana poza funkcją, ma zakres globalny i nie jest dostępna z innych programów. W tej sytuacji funkcja musi zadeklarować inicjalizator dla zmiennej przed jej użyciem.
Zmienna statyczna jest elementem danych o stałej manifestacyjnej Lvalue. Musi być zadeklarowana w funkcji lub deklaracji globalnej i jest oznaczana dwukropkiem. W przeciwieństwie do zmiennej lokalnej, czas życia zmiennej statycznej jest znacznie dłuższy. Zmienne statyczne są alokowane „statycznie”, co oznacza, że zachowują dane pomiędzy wywołaniami funkcji. Ponadto, są one inicjalizowane tylko raz, w porównaniu do zmiennych dynamicznych. Ruch zmiennej statycznej jest losowy i bywa nazywany różowym szumem lub pijanym spacerem.
Zmienna statyczna pozostaje w pamięci do końca programu. Jest ona przydatna na wiele sposobów. Na przykład może służyć do rejestrowania liczby wywołań danej funkcji. Jeśli ustawisz zmienną int na 0, a następnie wywołasz inną funkcję, zmienna pozostanie niezmieniona, dopóki funkcja nie zwróci swojej pierwotnej wartości. Jest to najlepszy sposób na wykorzystanie zmiennej statycznej. Jeśli więc potrzebujesz zliczenia wywołań funkcji, użyj zmiennej int.
Dynamiczne
Jeśli musisz zarządzać dużą strukturą danych, możesz użyć zmiennych dynamicznych. Zmienne te definiuje się z formatem A, B lub U. Można je również zdefiniować bez długości. Ponadto, zmienne dynamiczne są przydzielane do pamięci poprzez instrukcję EXPAND lub RESIZE. Również zmienne dynamiczne nie mogą być zawarte w klauzuli REDEFINE. Tak więc bardzo ważne jest użycie właściwej składni podczas ich definiowania.
Zwykle zmienne dynamiczne są nazywane po obiekcie lub funkcji, do której należą. Na przykład zmienna typu shoe-size powinna nosić nazwę shoe_size. Powinieneś również upewnić się, że używasz małej litery dla nazwy zmiennej. Możesz również użyć podkreślenia między wieloma słowami. W ten sposób będziesz wiedział, czym jest zmienna na pierwszy rzut oka. Możesz używać zmiennych dynamicznych na wiele sposobów. Na przykład możesz przekazywać sobie parametry i funkcje.
W przeciwieństwie do zmiennych statycznych, zmienne dynamiczne nie wymagają specjalnego kompilatora. Zamiast tego można ich używać w skrypcie. Zmienne dynamiczne najlepiej stosować oszczędnie i nie należy ich przeciążać. Aby zapobiec nieoczekiwanemu zachowaniu, powinieneś używać ich oszczędnie. Ogólnie rzecz biorąc, zmienne dynamiczne powinny być używane tylko w razie potrzeby. Jednakże, mają one zalety, gdy są używane prawidłowo. W ten sposób można uzyskać z nich jak najwięcej.
Pierwszą rzeczą, którą powinieneś wiedzieć o zmiennych, jest ich zakres. Zmienna statyczna to typ, który ma stałą wartość. Zmienne dynamiczne są płynne. Mogą mieć wartość progową, która zmienia się w czasie. Na przykład w automacie vendingowym zmienną dynamiczną jest ilość produktu. Ta zmienna jest używana do określenia, czy automat musi być ponownie napełniony, czy nie. Program śledzi również liczbę produktów w automacie, aby ich nie zabrakło.
Klasa
Zmienna klasowa to zmienna, która istnieje tylko w danej klasie. Istnieje tylko jedna kopia zmiennej klasowej bez względu na to, ile jest jej instancji. Zmienna klasowa jest również określana jako zmienna statyczna. Nie zmienia się ona, gdy klasa jest ponownie używana. W świecie programowania, zmienna klasowa jest kluczowa. Bez niej twój program nie będzie działał. W tym artykule omówimy zmienne klasowe i dlaczego są one tak ważne dla programistów.
Najważniejszą różnicą między zmienną klasową a zmienną instancji jest użycie słowa kluczowego static. Zmienna klasowa jest znana wszystkim instancjom klasy, podczas gdy zmienna instancji ma inną wartość dla każdej instancji. Zmienna klasowa jest lepsza dla aplikacji o dużej skali, ponieważ jest używana do zarządzania wieloma operacjami na małą skalę. Zmienna klasowa może być tworzona bez refaktoryzacji, a słowo kluczowe static może być użyte, aby ułatwić jej utrzymanie.
Innym rozróżnieniem między zmiennymi instancji i klasowymi jest ich użycie w C++. Zmienne instancji są deklarowane poza metodami, podczas gdy zmienne klasowe są deklarowane wewnątrz nich. Zmienne instancji są używane do przechowywania wartości, do których musi się odwoływać wiele metod. Przechowują one stan obiektu. Z kolei zmienne lokalne są deklarowane wewnątrz metod i są tworzone w momencie wywołania metody. Kiedy obiekt jest tworzony z klasy, zmienna klasowa przenosi się z nim.
Innym ważnym rozróżnieniem między zmiennymi instancji i klasowymi jest wykorzystanie kontekstu, w którym istnieją. Zmienna instancji może być używana do przechowywania wartości obiektu w pojedynczej instancji, podczas gdy zmienna klasowa może być używana dla zmiennych globalnych. Zmienne klasowe są również często const lub final-case-qualified. Najlepiej używać do tego celu zmiennych z kwalifikacją finalną lub const. Niezależnie od tego, ile instancji klasy ma dany obiekt, pojedyncza instancja zmiennej klasowej może złamać logikę biznesową.
Zewnętrzna
Zmienna zewnętrzna to zmienna, która jest zadeklarowana poza ciałem funkcji. Oznacza to, że jest ona dostępna globalnie przez cały czas wykonywania funkcji. Dzięki temu funkcje mogą zmieniać jej wartość bez konieczności zmiany oryginalnej zmiennej. Aby zdefiniować zmienną zewnętrzną w C++, musisz użyć słowa kluczowego „extern”. Możesz zadeklarować tę samą zmienną więcej niż raz. Deklarując zmienną globalną, musisz dołączyć słowo kluczowe extern przed definicją funkcji.
Deklarowanie zmiennej zewnętrznej jest proste. Pierwszym krokiem jest zdefiniowanie zmiennej w odpowiednim pliku. Na przykład, jeśli zmienna numer jest zadeklarowana w wierszu 1 funkcji, to należy ją zadeklarować w pliku 2. Zmienna globalna może być zadeklarowana w dowolnej liczbie plików. Ważne jest, aby przy deklarowaniu jej w innym pliku niż ten zawierający jej definicję, używać przedrostka „extern”. Ponadto zmienne globalne muszą być zadeklarowane w pliku globalnym.
Zmienna zewnętrzna jest podobna do zmiennej automatycznej, z tym że może być użyta w dowolnej funkcji. Jest to zmienna dostępna globalnie, która może być używana jako zamiennik list argumentów. Oprócz tego, że jest dostępna globalnie, zmienna zewnętrzna jest trwała. Zachowuje ona swoją wartość nawet po powrocie funkcji. Poniższy kod ilustruje przykład użycia zmiennej zewnętrznej. Można również użyć tej koncepcji do zdefiniowania listy argumentów w C++.
Innym częstym zastosowaniem zmiennej extern są nagłówki. Nagłówki są używane do definiowania zmiennych bez użycia słowa kluczowego extern. Chociaż działa to, prowadzi to do niespójnego zachowania. Oznacza to, że zmienna globalna może być używana wielokrotnie w programie, co powoduje niespójne zachowanie. Standard C wymienia zmienne extern w załączniku J jako wspólne rozszerzenie. Rozszerzenie to jest przydatne do identyfikowania zmiennych globalnych, ale należy pamiętać, aby używać go w kontekście, w którym jest potrzebne.
Typ danych
Typ danych zmiennej to wartość, którą można przechowywać w programie komputerowym. Ten typ danych ma określoną precyzję i wykładnik oraz wymaga co najmniej 8 bajtów pamięci. Może być statyczny lub dynamiczny. Istnieją trzy główne typy zmiennych: integer, double i char. W programowaniu najczęściej spotykanym typem jest integer. Przechowuje ona najmniejszą możliwą wartość, natomiast char ma duży zakres wartości.
Innym typem zmiennej jest String. Struny zawierają zbiór wartości znaków, który służy do przechowywania danych. Struny mogą zawierać również liczby i inne wartości. Jak sama nazwa wskazuje, mogą one być użyte tylko raz w programie. Jest to tak zwana zmienna lokalna. Jeśli ten typ danych nie jest używany w programie, nie będzie przechowywany. Jednak Strings mogą być używane do przechowywania wielu wartości w jednej zmiennej.
Zmienna typu wyliczeniowego jest wstępnie zdefiniowaną enumeracją wartości true i false. Na przykład aplikacja muzyczna może poprosić użytkownika o wybranie jednego z dwóch gatunków. Jednak gatunek piosenki może być przechowywany w tablicy składającej się z trzech elementów. Ten typ zmiennych jest również przydatny do przechowywania dat. W składni ISO 8601 data jest przechowywana jako indeksy numeryczne.
Zmienna to miejsce w pamięci w ramach programu komputerowego, które przechowuje wartości. Różne systemy operacyjne ładują programy w różnych częściach pamięci komputera. Zmienna otrzymuje nazwę symboliczną, aby ułatwić interpreterowi lub kompilatorowi jej odnalezienie. Na przykład zmienna o nazwie int zawiera wartość zero. Oznacza to, że wartość przechowywana w zmiennej nie może być modyfikowana ani nadpisywana. Dlatego ważne jest, aby znać dokładny typ danych, które próbujesz przechowywać.