C varijabla, tipovi podataka, konstante
โก Pametni saลพetak
Varijable, tipovi podataka i konstante ฤine temelj svakog C programa, gdje varijable pohranjuju promjenjive vrijednosti, tipovi podataka definiraju veliฤinu i raspon tih podataka, a konstante sadrลพe fiksne vrijednosti koje se nikada ne mijenjaju.

ล to je varijabla?
Varijabla je identifikator koji se koristi za pohranu neke vrijednosti. Konstante se nikada ne mogu promijeniti u trenutku izvoฤenja. Varijable se mogu mijenjati tijekom izvoฤenja programa i aลพurirati vrijednost pohranjenu u njemu.
Jedna varijabla moลพe se koristiti na viลกe mjesta u programu. Ime varijable mora imati smisla. Treba predstavljati svrhu varijable.
Example: Height, age, are the meaningful variables that represent the purpose it is being used for. Height variable can be used to store a height value. Age variable can be used to store the age of a person
Varijabla se prvo mora deklarirati prije nego ลกto se upotrijebi negdje unutar programa. Naziv varijable formira se pomoฤu znakova, znamenki i podvlake.
Slijede pravila kojih se morate pridrลพavati prilikom izrade varijable:
- Ime varijable treba se sastojati samo od znakova, znamenki i podvlake.
- Ime varijable ne smije poฤinjati brojem.
- Naziv varijable ne smije se sastojati od razmaka.
- Naziv varijable ne smije se sastojati od kljuฤne rijeฤi.
- 'C' je jezik koji razlikuje velika i mala slova ลกto znaฤi da su varijable pod nazivom 'age' i 'AGE' razliฤite.
Slijede primjeri valjanih naziva varijabli u 'C' programu:
height or HEIGHT
_height
_height1
My_name
Slijede primjeri nevaลพeฤih naziva varijabli u 'C' programu:
1height Hei$ght My name
Na primjer, deklariramo cjelobrojnu varijablu moja_varijabla i dodijelimo joj vrijednost 48:
int my_variable;
my_variable = 48;
Usput, moลพemo i deklarirati i inicijalizirati (dodijeliti poฤetnu vrijednost) varijabli u jednoj izjavi:
int my_variable = 48;
Vrste podataka
'C' pruลพa razliฤite vrste podataka kako bi programeru olakลกao odabir prikladne vrste podataka prema zahtjevima aplikacije. Slijede tri vrste podataka:
- Primitivni tipovi podataka
- Izvedeni tipovi podataka
- Korisniฤki definirane vrste podataka
Postoji pet osnovnih osnovnih tipova podataka,
- int za cjelobrojne podatke
- char za znakovne podatke
- float za brojeve s pomiฤnim zarezom
- double za brojeve s pomiฤnim zarezom dvostruke preciznosti
- poniลกtiti
Nizovi, funkcije, pokazivaฤi i strukture su izvedeni tipovi podataka. Jezik 'C' pruลพa proลกirenije verzije gore spomenutih primarnih tipova podataka. Svaki tip podataka razlikuje se jedan od drugoga po veliฤini i rasponu. Sljedeฤa tablica prikazuje veliฤinu i raspon svakog tipa podataka.
| Vrsta podataka | Veliฤina u bajtovima | Raspon |
| Char ili signed char | 1 | -128 da 127 |
| Nepredpisani znak | 1 | 0 255 se |
| int ili signed int | 2 | -32768 da 32767 |
| Nepotpisani int | 2 | 0 65535 se |
| Kratki int ili Unsigned short int | 2 | 0 255 se |
| Potpisano kratko meฤ | 2 | -128 da 127 |
| Long int ili Signed long int | 4 | -2147483648 da 2147483647 |
| Unsigned long int | 4 | 0 4294967295 se |
| plutati | 4 | 3.4E-38 do 3.4E+38 |
| dvostruko | 8 | 1.7E-308 do 1.7E+308 |
| Dugi dvostruki | 10 | 3.4E-4932 do 1.1E+4932 |
Napomena: U C-u ne postoji Boolean tip podataka.
Cjelobrojni tip podataka
Cijeli broj nije niลกta drugo nego cijeli broj. Raspon za cjelobrojni tip podataka razlikuje se od stroja do stroja. Standardni raspon za cjelobrojni tip podataka je -32768 do 32767.
Cijeli broj obiฤno ima 2 bajta ลกto znaฤi da zauzima ukupno 16 bita u memoriji. Jedna vrijednost cijelog broja zauzima 2 bajta memorije. Cjelobrojni tip podataka dalje se dijeli na druge tipove podataka kao ลกto su short int, int i long int.
Svaki tip podataka razlikuje se u rasponu iako pripada obitelji tipova podataka cijelog broja. Veliฤina se ne mora mijenjati za svaku vrstu podataka obitelji cijelih brojeva.
Kratki int uglavnom se koristi za pohranjivanje malih brojeva, int se koristi za pohranjivanje cjelobrojnih vrijednosti prosjeฤne veliฤine, a dugi int se koristi za pohranjivanje velikih cjelobrojnih vrijednosti.
Kad god ลพelimo koristiti cijeli broj (integer), moramo staviti int ispred identifikatora, na primjer,
int age;
Ovdje je dob varijabla tipa podataka cijelog broja koja se moลพe koristiti za pohranjivanje vrijednosti cijelog broja.
Tip podataka s pomiฤnim zarezom
Kao i cijeli brojevi, u 'C' programu takoฤer moลพemo koristiti tipove podataka s pomiฤnim zarezom. Kljuฤna rijeฤ 'float' koristi se za predstavljanje tipa podataka s pomiฤnim zarezom. Moลพe sadrลพavati vrijednost s pomiฤnim zarezom ลกto znaฤi da broj ima razlomak i decimalni dio. Vrijednost s pomiฤnim zarezom je realan broj koji sadrลพi decimalni zarez. Cjelobrojni tip podataka ne pohranjuje decimalni dio stoga moลพemo koristiti floatove za pohranjivanje decimalnog dijela vrijednosti.
Opฤenito, float moลพe sadrลพavati do 6 preciznih vrijednosti. Ako float nije dovoljan, tada moลพemo koristiti druge tipove podataka koji mogu drลพati velike vrijednosti s pomiฤnim zarezom. Podatkovni tip double i long double koriste se za pohranjivanje realnih brojeva s preciznoลกฤu do 14 odnosno 80 bita.
Dok koristite broj s pomiฤnim zarezom, kljuฤna rijeฤ float/double/long double mora se staviti ispred identifikatora. Valjani primjeri su,
float division; double BankBalance;
Znakovni tip podataka
Tipovi znakovnih podataka koriste se za pohranu vrijednosti jednog znaka unutar jednostrukih navodnika.
Tip podataka znaka zauzima do 1 bajt memorijskog prostora.
Primjer,
Char letter;
Prazna vrsta podataka
Vrsta podataka void ne sadrลพi niti vraฤa nikakvu vrijednost. Uglavnom se koristi za definiranje funkcija u 'C'.
Primjer,
void displayData()
Deklaracija tipa varijable
int main() { int x, y; float salary = 13.48; char letter = 'K'; x = 25; y = 34; int z = x+y; printf("%d \n", z); printf("%f \n", salary); printf("%c \n", letter); return 0;}
Izlaz:
59 13.480000 K
Moลพemo deklarirati viลกe varijabli istog tipa podataka u jednom retku odvajajuฤi ih zarezom. Takoฤer, primijetite upotrebu specifikatora formata u izlaznim funkcijama printf float (%f) i char (%c) te int (%d).
konstante
Konstante su fiksne vrijednosti koje se nikada ne mijenjaju tijekom izvoฤenja programa. Slijede razliฤite vrste konstanti:
Cjelobrojne konstante
Cjelobrojna konstanta nije niลกta drugo nego vrijednost koja se sastoji od znamenki ili brojeva. Ove se vrijednosti nikada ne mijenjaju tijekom izvoฤenja programa. Cjelobrojne konstante mogu biti oktalne, decimalne i heksadecimalne.
Decimalna konstanta sadrลพi znamenke od 0-9 kao ลกto su,
Example, 111, 1234
Gore su vaลพeฤe decimalne konstante.
Oktalna konstanta sadrลพi znamenke od 0-7, a ovim vrstama konstanti uvijek prethodi 0.
Example, 012, 065
Gore su vaลพeฤe oktalne konstante.
Heksadecimalna konstanta sadrลพi znamenke od 0-9 kao i znakove iz AF. Heksadecimalnim konstantama uvijek prethodi 0X.
Example, 0X2, 0Xbcd
Gore su vaลพeฤe heksadecimalne konstante.
Oktalne i heksadecimalne cjelobrojne konstante vrlo se rijetko koriste u programiranju s 'C'.
Konstante znakova
Znakovna konstanta sadrลพi samo jedan znak zatvoren unutar jednostrukih navodnika ('). Znakovnu konstantu moลพemo predstaviti i navoฤenjem njezine ASCII vrijednosti.
Example, 'A', '9'
Gore su navedeni primjeri valjanih znakovnih konstanti.
String konstante
String konstanta sadrลพi niz znakova unutar dvostrukih navodnika (โโ).
Example, "Hello", "Programming"
Ovo su primjeri valjanih konstanti niza.
Realne konstante
Kao cjelobrojne konstante koje uvijek sadrลพe cjelobrojnu vrijednost. 'C' takoฤer pruลพa stvarne konstante koje sadrลพe decimalnu toฤku ili vrijednost razlomka. Realne konstante se takoฤer nazivaju konstantama s pomiฤnim zarezom. Realna konstanta sadrลพi decimalnu toฤku i razlomak.
Example, 202.15, 300.00
Ovo su vaลพeฤe realne konstante u 'C'.
Realna konstanta takoฤer se moลพe napisati kao,
Mantissa e Exponent
Na primjer, za deklariranje vrijednosti koja se ne mijenja kao klasiฤna kruลพna konstanta PI, postoje dva naฤina za deklariranje ove konstante
Koriลกtenjem kljuฤne rijeฤi const u deklaraciji varijable koja ฤe rezervirati memorijski prostor
#include <stdio.h> int main() { const double PI = 3.14; printf("%f", PI); //PI++; // This will generate an error as constants cannot be changed return 0;}
Koriลกtenjem direktive predprocesora #define koja ne koristi memoriju za pohranu i bez stavljanja znaka toฤka-zarez na kraj te naredbe
#include <stdio.h> #define PI 3.14 int main() { printf("%f", PI); return 0;}
