---
# System prepended metadata

title: 07 Zmienne i ich typy

---

# 07 Zmienne i ich typy

## Podstawowe pojęcia

**zmienna** - to obiekt w programowaniu, który przechowuje różnego rodzaju dane niezbędne do działania programu. Zmienna podczas działania programu może zmieniać swoje wartości. Tworząc zmienną musimy nadać jej nazwę oraz typ, który określa co nasza zmienna będzie przechowywać. Nadając nazwę należy trzymać się następujących reguł:

- zmienna jest jednym ciągiem znaków bez spacji np. nazwa_zmiennej - dobrze, nazwa zmiennej - źle
- nie zaczynamy nazwy od cyfry np. 12zmienna - źle, zmienna12 - dobrze
- nie używamy polskich liter takich jak ą, ę, ś, ć, ź itd.
- nazwa nie może być słowem kluczowym języka programowania np. auto - źle
- nazwa zmiennej powinna kojarzyć się z przeznaczeniem tej zmiennej np. tablica_ciagu - dobrze (staraj się nie nadawać nazwy typu hah :)

typ zmiennej - tworząc zmienną musimy się zastanowić, jakie będzie jej zastosowanie. Zmienne mogą przechowywać znaki, liczby całkowite, liczby rzeczywiste, ciągi znaków lub wartość logiczną true lub false. 

## Inicjacja zmienej

**typ zmiennej** nazwa zmiennej;

np:
```cpp=
int c;
float r;
char z;
```
**int** c - zmienna o nazwie x typy int (całkowita)
**float** r - zmienna o nazwie z typu float (rzeczywista)
**char** z - zmienna o nazwie z typu char (znak)

## Typy całkowite


| Nazwa    | Rozmiar (bajty) | Zakres |
| -------- | -------- | -------- |
| short  | 2    | [-32768 do 32767]    |
| int | 4 | [-2147483648 do 2147483647 ] |
| long long   | 4    | [-9 223 372 036 854 775 808 do 9 223 372 036 854 775 807]    |
| unsigned short | 2 | [0 do 65535] |
| unsigned int | 4 | [0 do 4294967295] |


## Typy rzeczywiste
| Nazwa    | Rozmiar (bajty) | Zakres |
| -------- | -------- | -------- |
| float | 2    | [6-7 cyfr po przecinku]    |
| double | 8 | [15-16 cyfr po przecinku ] |
| long double   | 12    | [19-20 cyfr po przecinku]    |


## Typ znakowy
| Nazwa    | Rozmiar (bajty) | Zakres |
| -------- | -------- | -------- |
| char | 1    | [-128 do 127]    |
| unsigned char | 1 | [0 do 255 ] |

## Typ logiczny
| Nazwa    | Rozmiar (bajty) | Zakres |
| -------- | -------- | -------- |
| bool | 1    | [false, true]    |


