Nizovi u C-u

Nizovi u C-u

offline
  • Pridružio: 15 Maj 2012
  • Poruke: 396

E ovako, imam jedan problem kod nizova jer nerazumem kako on to sacuva i st sacuva, evo jedan primer:

int atoi(char s[]) {       int i, n; n = 0; for(i = 0; s[i] >= '0' && s[i] <= '9'; ++i) n = 10 * n + (s[i] - '0'); return n; }

E ja to ne razumem, ovo s[i], na primer da ukucamo nesto u s i sad on jos doda na s i [i], a i je samo broj, kako on to sacuva, nerazumem, mozete li mi malo pojasniti?

Hvala unapred!



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Software developer
  • Pridružio: 06 Sep 2005
  • Poruke: 3800
  • Gde živiš: Beograd

Kad imas niz on u memoriji ostavi prostora koliko mu treba za clanove tog niza. Na primer, ako je jedan podatak velicine jedan bajt a ti hoces niz od osam clanova on ti ostavi osam bajtova.

Sa ovim [i] pristupas tom clanu. Dakle s[3] pristupa trecem bajtu i tu gleda sta se nalazi ...



offline
  • C# and PHP Developer
  • Pridružio: 16 Feb 2011
  • Poruke: 1630
  • Gde živiš: Pancevo

Niz je kolekcija lokacija za smestanje podataka od kojih svaki sadrzi isti tip podataka. A sve te lokacije se nazivaju elementi niza.

Deklaracija niza se vrsi odredjivanjem tipa, iza cega slede ime niza i subscript.
Subscript je broj elemenata niza koji je smesten u srednje zagrade, neki ga zovu i (index).

long LongArray[25]

Svaki niz se broji od 0 a ne od 1. Ovo je uzrok mnogih bagova u programiranju koje pisu pocetnici,



Ovi brojevi na slici su elemeti niza, svakom elementu niza se moze pristupiti referenciranjem ofseta u imenu niza. To [i] sto si spomenuo je takodje element !

Kompajler je kao slep covek koji pronalazi put do svoje kuce. On krece od prve kuce LongArray[0] pa do [25].

int billy [5] = { 16, 2, 77, 40, 12071 };

Rezultate prikazujes pomocu petlje ili direktnom pristupu..
Mislim jedonstavno je samo pogledaj malo po netu.
Ziveli
http://www.cplusplus.com/doc/tutorial/arrays/

offline
  • Pridružio: 15 Maj 2012
  • Poruke: 396

Hvala vam obojici, malo sam i procackao po google i ukapirao.

Ko je trenutno na forumu
 

Ukupno su 824 korisnika na forumu :: 32 registrovanih, 6 sakrivenih i 786 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: 8u47, A.R.Chafee.Jr., acatomic, bankulen, bbelic, bojank, comi991, Cufo, Dukelander, dule10savic, Fog of War, Gagi193, Georgius, gmlale, havoc995, HrcAk47, Lieutenant, LUDI, marshal, MB120mm, mean_machine, Mirage 2000N, oldtimer, Recce, repac, RiV, royst33, S2M, sakota79, Toni, vobo, vranjanac29