Ni lernas C++/Variabloj

El Vikilibroj

Kio estas variablo?[redakti]

Variablo estas fragmento de komputila memoro kun difinita grandeco, kiu havas propran identigilon (nomon) kaj povas konservi (enhavi) ian valoron, kiu dependas de tipo de variablo.

Deklarado de variabloj[redakti]

Antaŭ ol ni povas uzi variablon, ni devas deklari ĝin. T.e. informi kompililon kiel la variablo nomiĝas kaj kian tipon ĝi havas. La sintakso de deklaro estas jena:

tipo nomo_de_variablo;

Jen deklaro de variablo, kiu havas tipon "int" (entjera nombro) kaj nomon "agxo":

int agxo;

nun povas uzi la variablon agxo. Post deklaro la variablo havas nedifinitan valoron, do oni ne povas antaŭvidi ĝian valoron. Krom nura deklaro ni povas ankaŭ samtempe deklari kaj difini la variablon, ekzemple:

int agxo = 17;

Tipoj de variabloj[redakti]

En C++ tipoj de variabloj devas esti difinita. La lingvo mem difinas kelkaj tipoj (t.n. enkonstruitaj). Jen la listo de enkonstruitaj variabloj:

  • char - signo ~ litero,
  • int - entjero,
  • float - reala nombro,
  • double - reala nombro kun duobla precizo,
  • bool - bulea valoro, logika valoro. Povas esti vera (true) aŭ malvera (false),
  • char16_t - 16 bita litero ,
  • char32_t - 32 bita litero

Krom tiu ĉi supraj "simplaj" tipoj ni povas difini montrilaj tipoj. La montrila tipo enhavas adreson, kie troviĝas la variablo. Tiu ĉi tipo povas veri surbaze sur laŭvola tipo antaŭe difinita. Por difini ĝin sufiĉas aldoni * post nomo de tipo, ekzemple:

  • char* - montrilo al variablo kun char tipo,
  • int* - montrilo al variablo kun int tipo,
  • k.t.p.

En programo ni povas uzi unu aldona montrilo, kiu montras al nedifinitaj datumoj. Ĝi estas: void*. Malgraŭ ni povas havi variablon difinitan tiel:

void* variablo;

Ni ne povas difini variablon tiel:

 void variablo;

Pli detale pri ŝlosilvorto void estas priskirbite en ĉapitro Funkcioj.

Krome programistoj povas mem difini novajn tipojn de variabloj (pli detale en ĉapitro Klasoj).

Atingo al variablo[redakti]

La kodo de programo, kiu plenumas ian taskon devas esti skribita inter krampoj { kaj }. La krampoj difinas spacon, kie estas konataj nomoj de variabloj. Tio signifas, ke oni povas uzi la variablon. Vidu simplan ekzemplon:

int a;         //verso 1
{
  int b;       //verso 3
  b = a;       //verso 4
}
// b = a;      //verso 6

La variablo a estas konata inter krampoj kaj variablo b ne estas konta ekster la krampoj, do instrukcio en verso 6 estas malkorekta, ĉar nomo b signifas nenion.

Rimarku: se por variablo ne ekzistas nomon, tiam la komplilo detruas (liberigas al sistemo) memoron, kie ĝi troviĝis.

Vidu ankaŭ pli komplikan ekzemplon, kiu montras, kie estas konataj (kaj kie ne) nomoj de variabloj.

int ĈieKonata;
    {
        int preskaxuĈieKonata;
        // ĈieKonata - konata
        // preskaŭĈieKonata - konata
        // neKonata - ne konata
        // konataNurĈiTie - ne konata
        {
            // ĈieKonata - konata
            // preskaŭĈieKonata - konata
            // neKonata - ne konata
            // konataNurĈiTie - ne konata
            {
                int neKonata;
                // ĈieKonata - konata
                // preskaŭĈieKonata - konata
                // neKonata - konata
                // konataNurĈiTie - ne konata
            }
        }
        {
            int konataNurĈiTie;
            // ĈieKonata - konata
            // preskaŭĈieKonata - konata
            // neKonata - ne konata
            // konataNurĈiTie - konata
        }
    }
// ĈieKonata - konata
// preskaŭĈieKonata - konata
// neKonata - konata
// konataNurĈiTie - konata

Temo de vivo[redakti]

Konstantoj[redakti]