problem: Mam dynamicku struktoru dajme tomu
struct ziaci { char * meno; char priezvisko; };
main()
{
ziaci * trieda;
add_trieda(trieda);
}
void add_trieda(ziaci * pt)
{
pt = new ziaci [5];
// teraz alokujem pamat pre meno a potom priezvisko a skopirujem udaje
}
lenze problem je v tom ze to pracuje iba vo funkcii add_tieda vo funkcii main je struktura priazdna!
Tomuto fakt nerozumiem ved predavam ukazovatel na tu strukturu.
alebo to nema byt nahodou takto?
trieda = add_trieda(trieda);
a vo funkcii { return pt; } ??
Fórum › C / C++
Dyn Struct
![](img/forum_vlakno_help_vyreseno.png)
To myth:
Nejlepsi podle meho je volba, kterou jsi sam uvedl, tedy vratit adresu na tu stukturu. Dalsi moznosti je predavat adresa _pointeru_ jako parametr, tedy:
void add_trieda(ziaci ** pt)
{
pt = new ziaci [5];
// teraz alokujem pamat pre meno a potom priezvisko a skopirujem udaje
}
//a volat
add_trida(&trieda);
Nebo kdyz jsme v C++:
void add_trieda(ziaci *& pt) // nebo naopak ziaci &* pt
{
pt = new ziaci [5];
// teraz alokujem pamat pre meno a potom priezvisko a skopirujem udaje
}
// a volat noramlne
add_trieda(trieda);
Jak se tak divam, tak tom prvnim priklade mam chybku. Namisto
void add_trieda(ziaci ** pt)
{
pt = new ziaci [5];
// teraz alokujem pamat pre meno a potom priezvisko a skopirujem udaje
}
ma byt samozrejme:
void add_trieda(ziaci ** pt)
{
*pt = new ziaci [5];
// teraz alokujem pamat pre meno a potom priezvisko a skopirujem udaje
}
![](img/forum_nove_psp_new.png)
Přidej příspěvek
Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×![](/img/smile/1.gif)
![](/img/smile/2.gif)
![](/img/smile/3.gif)
![](/img/smile/4.gif)
![](/img/smile/5.gif)
![](/img/smile/6.gif)
![](/img/smile/7.gif)
![](/img/smile/8.gif)
![](/img/smile/9.gif)
![](/img/smile/10.gif)
![](/img/smile/11.gif)
![](/img/smile/12.gif)
![](/img/smile/13.gif)
![](/img/smile/14.gif)
![](/img/smile/15.gif)
![](/img/smile/16.gif)
![](/img/smile/17.gif)
![](/img/smile/18.gif)
![](/img/smile/19.gif)
![](/img/smile/20.gif)
![](/img/smile/21.gif)
![](/img/smile/22.gif)
![](/img/smile/23.gif)
![](/img/smile/24.gif)
![](/img/smile/25.gif)
![](/img/smile/26.gif)
![](/img/smile/27.gif)
![](/img/smile/28.gif)
![](/img/smile/29.gif)
![](/img/smile/30.gif)
![](/img/smile/31.gif)
![](/img/smile/1.gif)
![](/img/smile/2.gif)
![](/img/smile/3.gif)
![](/img/smile/4.gif)
![](/img/smile/5.gif)
![](/img/smile/6.gif)
![](/img/smile/7.gif)
![](/img/smile/8.gif)
![](/img/smile/9.gif)
![](/img/smile/10.gif)
![](/img/smile/11.gif)
![](/img/smile/12.gif)
![](/img/smile/13.gif)
![](/img/smile/14.gif)
![](/img/smile/15.gif)
![](/img/smile/16.gif)
![](/img/smile/17.gif)
![](/img/smile/18.gif)
![](/img/smile/19.gif)
![](/img/smile/20.gif)
![](/img/smile/21.gif)
![](/img/smile/22.gif)
![](/img/smile/23.gif)
![](/img/smile/24.gif)
![](/img/smile/25.gif)
![](/img/smile/26.gif)
![](/img/smile/27.gif)
![](/img/smile/28.gif)
![](/img/smile/29.gif)
![](/img/smile/30.gif)
![](/img/smile/31.gif)
![](/img/smile/32.gif)
Uživatelé prohlížející si toto vlákno
Uživatelé on-line: 0 registrovaných, 7 hostů
Podobná vlákna
C++ kopírování dyn. pole objektů — založil james2000
Uložení dat do dyn. alokovaného pole — založil aralxd
Struct vo funkcii — založil Eversmann
Potíže se struct — založil IDKFA
Moderátoři diskuze