Mam funkcje zwracajaca strukture:
struct obraz funkcja(struct obraz *obrazwejsciowy)
{
struct obraz obrazpomocniczy;
//tutaj allokuje pamiec na tablice bedaca elementem struktury
return obrazpomocniczy;
}
W mainie wyglada to tak:
struct obraz obrazx;
obrazx=funkcja(&obrazwe);
Wszystko działa poprawnie ale zastanawiam sie czy zwracajac strukture funkcja nie jest ona czasem kasowana po zakonczeniu funkcji.
Nie wykorzystuje w tym fragmencie czasem tego ze nie sa czyszczane smieci z pamieci i czy nie ma ryzyka ze tej struktury moze juz nie byc w pamieci w momencie przypisywania?
Ten problem zasygnalizował mi prowadzacy zajecia. Mowil ze jezeli w funkcji allokowalbym pamiec na strukture wtedy nie byloby problemu ze jest ona kasowana az do momentu uzycia funckji free();
Prosze o jakis komentarz do tej sytuacji. No i czy ten kod jest poprawny czy nie?