Deo zbornika Uvod u programiranje kroz C

Tipovi podataka

Tip podatka je oznaka za skup vrijednosti i operacije koje se mogu obaviti na tom skupu vrijednosti. Programski jezici implicitno ili eksplicitno podržavaju jedan ili više tipova podatka. Tipovi podataka zapravo djeluju kao ograničenja u programima koja se statički ili dinamički provjeravaju.

Tipovi podataka koje podržavaju pojedini programski jezici međusobno se razlikuju. Osnovni tipovi zajednički su većini programskih jezika koji se najčešće koriste, a razlike u definiranju istih tipova podataka u različitim programskim jezicima nisu velike.

Osnovna ideja uvođenja tipova podataka je davanje značenja nečemu što je u konačnici zapravo samo niz bitova. Za računalo svaka vrijednost je jednostavno samo skup bitova, u hardveru nema razlikovanja između memorijske adrese, koda instrukcije, znakova, cijelih brojeva i decimalnih brojeva. Tip podatka govori nam kako treba tretirati taj niz bitova.

Programi se mogu promatrati i kao niz operacija koje se izvode na podacima, tako da je ishodišno pitanje programiranja opis i strukturiranje podataka.

Tip i obrada podatka

Ulazni podaci nisu jedini, jer niz podataka nastaje i za vrijeme obrade, postoje u memoriji i kasnije se nigdje ne vide. Zato možemo postaviti tri osnovne skupine podataka koje će postojati:

  • ulazni podaci
  • unutarnji podaci programa
  • izlazni podaci

Svaki podatak koji se obrađuje u nekom programu treba definirati i povezati tj. strukturirati u povezane cjeline (strukture podataka) kako bi jednostavno radili s njima.

Računalu je potrebno dati potpunu definiciju podataka kako bi se kontrolirale operacije nad njima: aritmetičke operacije dopuštene su nad brojevima, skupovne operacije nad elementima skupa itd. Tip podataka određuje i dozvoljene vrijednosti koje pojedini objekt može poprimiti, kao i skup dozvoljenih operacija. To ujedno ima i utjecaja na način pohrane podataka.

Tipovi i strukture

Prema svojstvima, podaci mogu biti tipa:

  • cijeli broj
  • realni broj
  • logička varijabla
  • znakovno polje …

Podatke možemo povezati u sledeće strukture:

  • nizove (koji predstavljaju matematičke vektore i matrice)
  • skupove
  • slogove
  • datoteke …

Primitivni tipovi

Primitivni tipovi podataka su oni koje programski jezik nudi kao osnovne gradbene elemente. Ovisno o jeziku i implementaciji, primitivni tipovi mogu (ali ne moraju) imati “jedan prema jedan” odnos sa objektima u memoriji. Poznati su i kao osnovni ili ugrađeni tipovi (eng. built-in types).

Tipični primitivni tipovi podataka uključuju:

  • niz znakova: character, char, string
  • cijeli broj, sa nekoliko različitih područja vrijednosti: integer, int, short, long
  • decimalni broj, sa nekoliko različiti preciznosti: float, real, single, double, double precision
  • logički (boolean), ima vrijednosti istinu ili laž
  • referenca ili pokazivač (eng. pointer), sadrži memorijsku adresu nekog drugog objekta

Preciznost broja određena je dužinom riječi procesora (32 ili 64 bita).

Tipovi i programski jezici

Neke od ključnih značajki programskih jezika:

  • jesu li deklaracije tipa podatka obavezne
  • jesu li ograničenog dosega unutar programske jedinice (procedure, modula, bloka) ili ne?

Izvor: N. Pavković, D. Marjanović, N. Bojčetić, Programiranje i algoritmi I, Zagreb, 2005.