01.03.2013 Views

g. surgulaZe, g. janeliZe, i. xuciSvili

g. surgulaZe, g. janeliZe, i. xuciSvili

g. surgulaZe, g. janeliZe, i. xuciSvili

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

2. gare statikuri, arsebobis xangrZlivoba – mudmivi, moqmedebis<br />

are – globaluri (erTi faili).<br />

2.7. dinamiuri obieqtebi<br />

mimTiTeblebi gamoiyeneba dinamiuri obieqtebis Seqmnisa da<br />

damuSavebisas. dinamiuri obieqtebi iqmnebian dinamiurad da cxadad<br />

programis Sesrulebis procesSi. dinamiuri obieqtebis Seqmnas<br />

emsaxureba malloc da calloc funqciebi. winaswargansazRvruli<br />

obieqtebisagan gansxvavebiT dinamiuri obieqtebis ricxvi ar aris<br />

fiqsirebuli, isini SeiZleba Seiqmnan da ganadgurdnen programis<br />

Sesrulebis procesSi. maT ara aqvT saxeli da maTze mimarTva<br />

sruldeba mimTiTeblebis daxmarebiT. SeTanxmebiT, nulovani<br />

mniSvnelobis mqone mudmivis aRniSvnisaTvis gamoiyeneba NULL<br />

identifikatori, romlis aRwerac mdebareobs stddef.h biblioTekaSi<br />

da warmoadgens sistemurad damokidebuls.<br />

2.7.1. dinamiuri obieqtebis Seqmna<br />

standartis mixedviT malloc, calloc funqciis argumentebs aqvT<br />

damabrunebeli obieqtis tipi void*.<br />

char *s = (char*)malloc(size);<br />

unsigned size;/*mexsierebis moculoba, romelic saWiroa gamoiyos<br />

*/<br />

char *s = (char *)calloc(nelem,elsize);<br />

unsigned nelem; /*elementebis ricxvi, romlisTvisac unda gamoiyos<br />

mexsiereba*/<br />

unsigned elsize; /* mexsierebis moculoba, romelic unda gamoiyos<br />

calkeuli elementisaTvis*/<br />

/* ubralod Seicvalos char*, void*-iT<br />

void* calloc(nelem, elsize);<br />

unsigned nelem;<br />

unsigned elsize;*/<br />

124

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!