Tema: Re: Reikia helpo su C stringais
Autorius: Tomis
Data: 2010-11-04 13:18:50
Aga, su lokaliniais, globaliniais kintamaisiais tai susipazines ir  
isivaizduoju su kuo jie valgomi.
Cia klaida padariau tik del to jog nelabai suprantu C kalboje stringu. Bet  
jei gerai supratau tai char kintamasis tera tik pointeris i kazkokia  
atminties sriti kur laikomas stringas. Tuomet viskas kaip ir stoja i savo  
vietas, toji adresu sritis buvo lokali, kuri susinaikino. Jei ant tos  
vietos niekas nieko neuzrase tuomet dar galima butu ta rezultata nuskaityt.
Pataisykit jei ne taip isivaizduoju:

char var1[50];  <- var1 yra pointeris i tam tikra konkrecia adresu sriti,  
o nuo to adreso rezervuojami 50 baitu. O ar tie baitai kaip nors  
inicijuojami? tipo taip "\0!@#%&*%$*&@#$^@#^@%^@^6....."?

char *var2;  <- var2 taip pat yra pointeris i konkrecia adresu sriti. Tik  
jam nerezervuoti jokie baitai. T.y. bandant is ten skaityt gali gaut  
beleka. priklausomai kurioj vietoj ras eilutes pabaigos zenkla \0.


On Thu, 04 Nov 2010 12:48:16 +0200, Autėjus <austa@on.lt> wrote:

> 1. Visi kintamieji (masyvai irgi), aprasyti funkcijos viduje yra  
> lokaliniai,
> nepasiekiami is isores (is kitu funkciju) ir kuriami automatiskai  
> kvieciant funkcija,
> bei naikinami automatiskai isejus is funkcijos.
>
> 2. Grazinamas rodiklis i toki objekta, kuris sunaikinamas - yra klaida,
> jis rodys tik i siukslyna, nors kartais ten dar gali buti teisingi  
> duomenys (kaip buvo mano atveju).
>
> "Tomis" <tomis.k@g.mail.com> parašė naujienų  
> pranešime:op.vlm6bjcjxe6kaj@tomasg.jurby.com...
>> Aciu,  bent vienoj vietoj aiskumo daugiau :)
>>>
>>>   Tarpai visvien ignoruojami.


-- 
Using Opera's revolutionary email client: http://www.opera.com/mail/