Boj s pointery
Jindroush
jindroush na seznam.cz
Středa Srpen 17 13:45:03 CEST 2022
Pri opusteni funkce (presneji asi pri opusteni bloku, ve kterem je
promenna platna, ve scope) je pamet pro lokalni promennou uvolnena.
Pointer tim padem smeruje na pamet "kde byla" vase promenna a kdyz pak
pointer pozdeji dereferencujete, uz tato pamet muze byt obsazena nejakou
zcela jinou promennou.
Je to pomerne zakerna chyba, ktera ma tendence se projevovat velmi nahodne.
J.
On 17.08.2022 13:21, Michal Grunt wrote:
> Tomu nerozumím. Takže když mám ve funkci nějakou kokální proměnou,
> kterou následně vracím tak se vrátí (může se vrátit) něco jiného i
> když je ve funkci jasně dané co se má vrátit?
>
> st 17. 8. 2022 v 11:48 odesílatel Jan Waclawek <konfera na efton.sk> napsal:
>> Bez toho aby som sa pokusil pochopit funkciu:
>>
>> char strTmp[100];
>>
>> definuje lokalnu premennu na zasobniku (stacku), ktora zanika na konci
>> funkcie, ale
>>
>> return strTmp;
>>
>> vracia smernik na tuto premennu, ktora sa zrejme nasledne pouziva, aj ked
>> zasobnik a tym premenna su/mozu uz byt prepisane naslednym behom programu.
>>
>> wek
>>
>> _______________________________________________
>> HW-list mailing list - sponsored by www.HW.cz
>> Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
--
Jindroush <jindroush na seznam.cz>
Další informace o konferenci Hw-list