Proměnné
C++ 11

image_printTisk

V minulém článku jsme si řekli, že data programu jsou uchována v různých souvislých úsecích paměti. Abychom mohli v programu používat hodnotu uloženou v nějakém takovém úseku paměti, musíme jí dát jméno. Toto jméno se nazývá identifikátor a jazykové vyjádření vazby mezi datovým typem a identifikátorem se nazývá deklarace, případně definice. Jazyk C++ umožňuje definovat a deklarovat entity různých druhů, v této kapitole si ale prozatím jen ukážeme definice proměnných číselných datových typů.

Význam identifikátoru jako jména proměnné jsme si již vysvětlili. Nyní přistupme k popisu pravidel tvorby jejich jmen. Identifikátor může obsahovat písmena anglické abecedy, přičemž překladač rozlišuje velká a malá písmena. Dále součástí názvu identifikátoru může být znak “podtržítko”  a číslice. Platí jen pravidlo, že číslice se nesmí vyskytovat na začátku názvu. Je zde ale jedno omezení. Jazyk C++ si vyhrazuje určitá slova, která mají speciální význam, a nazývají se klíčová slova. Dvě z nich už jste mohli potkat v předchozím článku. Jsou to názvy číselných datových typů, a to int a double. Z toho vyplývá zmíněné omezení, že název identifikátoru nesmí být totožný se žádným klíčovým slovem.

Nyní si již ukážeme způsob zápisu definice proměnných na následujícím příkladu.

int main() {
    // POZOR: Proměnné bez definované výchozí hodnoty, obsahem může být jakákoliv hodnota
    int i;
    double j;

    // Proměnné s definovanou výchozí hodnotou
    int m = 10;
    double n = 3.14159;

    return 0;
}

Proměnné jsou součástí funkce nazvané main, která, jak je popsáno v jednom z předchozích článků, je vstupním bodem pro spuštění aplikace. Každá proměnná, která je součástí nějaké funkce, se nazývá lokální. O ostatních druzích proměnných si povíme v některých z následujících článcích. Každá definice lokální proměnné je ukončena středníkem.

Na příkladu jsou proměnné i a j, které nemají výchozí hodnotu. Tato věc je u lokálních proměnných velmi nebezpečná, neboť překladač pak nedává těmto proměnným žádnou výchozí hodnotu, např. hodnota nula, ale obsahem může být jakákoliv hodnota, která se v paměti zrovna nachází. Proto je dobrým zvykem vždy lokální proměnné inicializovat na nějakou prvotní výchozí hodnotu. Na příkladu jsou to třeba proměnné s názvy m a n.

Na závěr si ukážeme, jak lze definovat více proměnných v jedné deklaraci. Viz následující příklad:

int main() {
    double i, j = 1.1234e-3, k;
    return 0;
}

Více proměnných stejného typu můžeme definovat tak, že zapíšeme daný datový typ a uvedeme seznam identifikátorů oddělených čárkou. Je důležité si ale všimnout, že inicializace proměnné se nevztahuje na celý seznam identifikátorů, ale pouze na jeden konkrétní. Příklad ukazuje, že hodnota proměnných i a je nedefinovaná a jediná proměnná, která je inicializovaná, je proměnná j.

image_printTisk
Proměnné
C++ 11
Ohodnoťte tento článek

Související články

  • Číselné datové typy V této kapitole se objasníme pojem, co je to datový typ. Dále si ukážeme základní číselné datové typy, se kterými jazyk C++ operuje a předvedeme si různé varianty zápisu čísel, hlavně […]
  • Konstanty Tento článek si klade za cíl vysvětlit význam a princip fungování konstant v jazyce C++. Seznámíme se s důvody jejich zavedení, uvedu zde dvě formy jejich zápisu a krátce záměrně odbočím […]
  • Relační operátory Tento článek pojednává o porovnávacích, jinak nazývané také relačních,  operátorech v jazyce C++. Souhrnně se o nich zmíníme, ukážeme si opět rozdíl jejich zápisu od klasické matematiky a […]
  • Datový typ “bool” Cílem tohoto článku je osvětlit význam datového typu bool pro logickou hodnotu. Budete seznámeni s novými klíčovými slovy, vysvětlíme si rozdíl mezi operátorem porovnání a přiřazení a v […]
  • Komentáře Tento článek pojednává o způsobu zápisu komentářů ve zdrojových kódech jazyka C++. Budou popsány oba druhy komentářů, tedy jednořádkové i jejich víceřádková varianta. Použití […]
  • Datový typ “string” V tomto článku si představíme skupinu datových typů knihovny STL pro práci s texty. Seznámíme se s jejich inicializací, stejně tak si popíšeme další základní metody pro práci s touto […]