Showing posts with label deklaracija. Show all posts
Showing posts with label deklaracija. Show all posts

Monday, October 05, 2015

Nizovi u C++ programskom jeziku


Najjednostavnije definisano; niz je niz promenjivih istog tipa koji se nalaze u memoriji. Možemo reći i da je niz kolekcija elemenata ili lokacija za smeštanje podataka istog tipa. Inače niz predstavlja proizvoljno veliku količinu podataka indeksiranih sa brojevima. Sa malo koda vi u suštini pravite strukture nizova podataka proizvoljnih dimenzija, zatim pomoću petlji možete efikasno da obrađujete strukture podataka. Nizovi skoro uvek idu zajedno sa petljama i zbog toga su veoma korisni. Međutim nizovi u C++ programskom jeziku nisu baš kao u C# programskom jeziku jer su nizovi u C# objekti i moraju se instancirati što nije slučaj u C++ programskom jeziku. C++ programski jezik nije garbage collected i upotreba ključne reči new zahteva ručno oslobađanje memorije. Ali sad da ne komplikujem nego da pojednostavimo.


( Arrays, jednodimenzionalni i dvodimenzionalni nizovi )

Nizovi se deklarišu prvo određivanjem tipa niza, zatim imenom niza i veličinom. Najjednostavnija sintaksa niza je:

tip ime_niza [veličina];

Takođe o nizovima treba da znate da u niz možete smestiti i stringove i objekte i druge nizove ali u svakom nizu može da postoji samo isti tipovi podataka. Npr. Ovako se definiše niz koji sadrži 10 promenjivih tipa integer.

int numbers[10];


Sad u niz numbers možete staviti 10 brojeva tipa integer umesto da pravite 10 promenjivih:

numbers[0] = 1;
numbers[1] = 2;
numbers[2] = 3;
numbers[3] = 4;
numbers[4] = 5;
numbers[5] = 6;
numbers[6] = 7;
numbers[7] = 8;
numbers[8] = 9;
numbers[9] = 10;

Međutim ovako dodeljivanje nema neke velike razlike u pisanju 10 promenjivih tipa integer sa dodeljenim vrednostima. Zato isti niz možemo napisati, deklarisati i dodeliti nizu vrednosti jednostavnije; u jednoj liniji koda pomoću agregata jednostavnom notacijom vitičasti zagrada i tačka zarezom. 

int numbers[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };

Ovako u jednoj liniji koda vi vršite i pravilno inicijalizaciju. Inače bez inicijalizacije niza vaš program vam može praviti komplikacije; ukoliko niste deklarisani niz na globalnom nivou. C++ programski jezik na žalost automatski inicijalizuje promenjive i sve elemente niza nulom samo na globalnom nivou. Što u prevodu znači da promenjive i svi elementi deklarisani na lokalnom nivou sadrže slučajne vrednosti (smeće). Ovako kompajler može da obradi vaš niz kao da to nije ni bitno ali može i da vam napravi ogromne komplikacije.

Kako to misliš, da mogu imati komplikacije kad deklarišem niz bez inicijalizacije?

Thursday, September 24, 2015

Funkcije u C++ programskom jeziku


Funkcije ili kako se još zovu, metode, procedure ili podrutine su najosnovniji gradivni elementi tj. grupa povezanih naredbi koji izvršavaju određeni zadatak koliko god puta vam zatreba. Funkcije su suštinski korak u podeli posla i prosto je nemoguće zamisliti ozbiljan programski projekat bez funkcija. Bez obzira što je objektno orjentisano programiranje skrenulo pažnju sa funkcija na objekte, funkcije ostaju centralna komponenta svakog programa. Najbolje je da funkcije shvatite kao deo programa koji obavljaju određeni zadatak kad god se pozovu u programu. Kad god imate neki deo koda koji se često ponavlja, da ga ne biste pisali više puta, najbolje ga stavite u neku funkciju i onda tu funkciju pozivajte u svom programu onoliko puta koliko vam je potrebno. Vi možete praviti vlastite ili koristiti već napravljene funkcije. U C++ programskom jeziku postoje dve vrste funkcija; funkcija koja vraća neku vrednost i funkcija koja ne vraća vrednost.


( C++ Functions )

Za programere Visual Basic-a bi napomenuo da su u C, C++ i C# programskom jeziku i funkcije i sub procedure jedno; samo funkcije. Razlika je samo u tome da u Visual Basic-u funkcija podrazumeva da se vraća neka vrednost, dok se za funkciju koja ne vraćaju vrednost koristi sub procedura. Svaki C++ program ima bar jednu funkciju main() i ona je glavna funkcija iz koje se mogu pozivati druge funkcije, dok druge funkcije mogu pozivati jedna drugu i čak funkcija može pozivati samu sebe. Takođe funkcije možemo podeliti na korisnički definisane i ugrađene. Ugrađene funkcije su deo paketa vašeg kompajlera i njih obezbeđuje proizvođač.

Kako se pravi i poziva funkcija?