Remove ads
Z Wikipedii, wolnej encyklopedii
Inicjalizacja zmiennej to konstrukcja programistyczna polegająca na nadaniu zmiennej wartości początkowej.
Nadanie zmiennej wartości początkowej może być dokonane:
W przypadku inicjalizacji zmiennej w deklaracji lub w specjalnym bloku, wartość inicjująca musi zostać zapisana w postaci:
Wynika to z faktu, że wartości te muszą być znane na etapie kompilacji. W pozostałych przypadkach, wartość ta może być wyznaczona dopiero w trakcie wykonywania programu, co skutkuje brakiem powyższych ograniczeń.
Inicjalizacja zmiennej w kodzie jest zwykłą konstrukcją nadania wartości zmiennej, niczym nie różniącą się od dalszych, kolejnych przypisań nowych wartości. Takie nadanie wartości następuje najczęściej w wyniku wykonania przypisania. Ta forma jest dostępna we wszystkich językach programowania, nawet jeżeli specyfika języka inaczej nazywa daną operację (innym terminem). W językach programowania, w których nie wymaga się deklarowania wszystkich zmiennych występujących w kodzie, taka inicjalizacja jest równocześnie deklaracją dynamiczną danej zmiennej, która skutkuje utworzeniem tej zmiennej z nadaną wartością początkową.
Taka inicjalizacja dotyczy zmiennej sterującej pętlą, w prologu tej pętli, tj. przed przebiegiem pierwszej iteracji. Takiej zmiennej przypisywana jest wartość początkowa zakresu wartości, które będą przyjmowane przez tę zmienną, przy przejściach do kolejnych powtórzeń pętli. Należy jednak zauważyć, że w wielu językach zmienna sterująca może być zwykłą zmienną, która wcześniej bierze udział w różnych obliczeniach i może mieć już nadaną wartość, nie jest już potrzebna inicjalizacja (np. C, C++). W innych językach, mimo że taka zmienna ma już nadaną określoną wartość, być może właściwą, składnia i tak wymaga inicjalizacji takiej zmiennej dla bloku instrukcji iteracyjnej (np. Pascal). I w końcu może być tak, że zmienna sterująca jest lokalna dla danej pętli i wymaga inicjalizacji (np. Ada).
Inicjalizacja zmiennej powstałej podczas wywołania podprogramu i będącej określonym parametrem, zgodnie z deklaracją danego podprogramu, zależna jest od sposobu kojarzenia argumentów z parametrami formalnymi. Występuje ona w instrukcji wywołania, bądź w wywołaniu podprogramu funkcyjnego w wyrażeniu.
Przypisanie wartości domyślnej do parametru następuje w instrukcji wywołania lub w wywołaniu funkcji, tylko w przypadku, gdy na liście argumentów nie wyspecyfikowano wartości (argumentu) odpowiadającej kolejnemu parametrowi formalnemu. Poza tym obowiązują zasady identycznej inicjalizacji takiego parametru jak wyżej (jak przy skojarzeniu argumentu z parametrem).
Specjalna sekcja, w danym bloku kodu, służąca inicjalizacji zmiennych, jest wykonywana tylko jednokrotnie, przy pierwszym wykonaniu/wywołaniu danego bloku, sekcji. Taka konstrukcja umożliwia nadawanie wartości np. zmiennym statycznym przy pierwszym wywołaniu i zachowanie nowych, zmieniony w wyniku wykonania kodu bloku wartości, w kolejnych wykonaniach/wywołaniach danego bloku.
Inicjalizacja zmiennej w deklaracji tej zmiennej jest możliwa w wielu językach programowania, choć istnieją języki, w których taka konstrukcja jest niedopuszczalna. Pewne nowsze implementacje języków, w których nie ma tej konstrukcji, mogą ją wprowadzać. Ten sposób nadawania zmiennej wartości początkowej najskuteczniej zapobiega błędom, polegającym na odwołaniu do niezainicjowanej zmiennej, tzn. takiej zmiennej, której nie nadano jeszcze wartości.
Język programowania | Forma zapisu | Przykład |
---|---|---|
Ada | identyfikator : typ:=wartość; | a : INTEGER:=1; |
C | typ identyfikator=wartość; | int a=1; |
Clipper 5.0 | deklamator identyfikator:=wartość | PRIVATE a:=1 |
JavaScript | var identyfikator= wartość; | var a=1; |
MASM (Makroasembler) | identyfikator DYREKTYWA_TWORZĄCA wartość | ZM DB 1 |
PL/I | <DECLARE | DCL> lista_identyfikatorów atrybuty <INITIAL | INIT>(wartość); | DCL A FIXED(2,0) INIT(1); |
Turbo Pascal | const identyfikator : typ=wartość; | const a:integer=1; |
C# | typ indentyfikator=wartość; | int a=1; |
var identyfikator=wartość;[a] | var a=1; | |
Visual Basic (Visual Studio 2008) | Dim identyfikator [As typ]=wartość | Dim A As Integer = 1 |
Dim identyfikator As New klasa | Dim St As New Stack(Long) |
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.