Struktura ve strukture alokacepameti – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Struktura ve strukture alokacepameti – C / C++ – Fórum – Programujte.comStruktura ve strukture alokacepameti – C / C++ – Fórum – Programujte.com

 

fry0
Duch
26. 12. 2013   #1
-
0
-

Mohl by mi někdo poradit jak alokovat paměť pro strukturu ve struktuře ?

Mam dvě struktury a v té druhé chci dyn. alokovat paměť pro prvky té první

struct DatumAcas{
    char popis[50];
    int ID,den,mesic,rok,hodOd,minOd,hodDo,minDo,doba,datum;
};

struct Ukol{
    char typUkolu[50];
    int ID;
    DatumAcas *data;
};

int main(){
    Ukol *ukoly=NULL;    
    ukoly->data = new DatumAcas[5];
  .
  .
  .

Při sestavení mi to nehlásí žádnou chybu, ale jak spustím program, tak mi to zpadne. Tak někoho prosím, kdyby mi řekl jak na to jít. Díky

Nahlásit jako SPAM
IP: 89.203.252.–
KIIV
~ Moderátor
+43
God of flame
26. 12. 2013   #2
-
0
-

#1 fry
tak tezko ukladat data do struktury, ktera je na adrese NULL

Nahlásit jako SPAM
IP: 94.113.93.–
Program vždy dělá to co naprogramujete, ne to co chcete...
fry0
Duch
26. 12. 2013   #3
-
0
-

jo rozumim, ale jinak na vhodnem miste by to bylo spravne ? Takto alokovat pamet ?

A jak pak budu pristupovat k tem datum pomoci . nebo ->

Nahlásit jako SPAM
IP: 89.203.252.–
fry0
Duch
27. 12. 2013   #4
-
0
-

#2 KIIV
mohl bys mi prosim te poradit jak mam postupovat s temi dvema strukturami. Po nacteni dat do struktur bych chtel pracovat jen s tou jednou strukturou Ukol a mit tam podle id ukolu i ty jednotlive data.

abych to mohl mit nejak podobne.

ukol[0] 

ID,typ, data[0] data s datumem a casem

           data[1] data s datumem a casem

ukol[1] 

ID,typ, data[0] data s datumem a casem

           data[1] data s datumem a casem

...

za jakoukoliv myslenku a napad dekuji.

Nahlásit jako SPAM
IP: 89.203.252.–
Flowy0
Věrný člen
27. 12. 2013   #5
-
0
-

asi by si si mal alokovat pamet na ktoru odkazuje pointer ukoly

Nahlásit jako SPAM
IP: 95.102.35.–
https://github.com/Flowy
KIIV
~ Moderátor
+43
God of flame
27. 12. 2013   #6
-
0
-

#4 fry
pokud ti staci jeden "Ukol" tak nevyrabej pointer ale normalni promennou:

Ukol ukoly;

ukoly.data = new DatumAcas[5];
 

pokud ale chces vicero ukolu, tak budes muset nejprve alokovat pamet pro ne:

Ukol * ukoly = new Ukol;

pak uz   ukoly->data bude fungovat

Nahlásit jako SPAM
IP: 94.113.93.–
Program vždy dělá to co naprogramujete, ne to co chcete...
fry0
Duch
27. 12. 2013   #7
-
0
-

#6 KIIV
a pak uz po te alokaci muzu normalne prirazovat treba ve dvojim cyklu for ukoly[i].data[j] = ...

Nahlásit jako SPAM
IP: 89.203.252.–
KIIV
~ Moderátor
+43
God of flame
27. 12. 2013   #8
-
0
-

#7 fry
co sem poslal tam ne.. tam je alokovan jen jeden ukol... ale muzes alokovat pole ukolu, pro kazdy ukol alokovat pole casu

kazdopadne nevim jake mas zadani, ale muzes si i vyrobit nejake metody pro tydle akce (klidne konstruktor nejakou zakladni alokaci a destruktor na uvolneni, nebo vyuzit treba tridy vector a obejit se pak bez te alokace uplne 

Nahlásit jako SPAM
IP: 94.113.93.–
Program vždy dělá to co naprogramujete, ne to co chcete...
fry0
Duch
27. 12. 2013   #9
-
0
-

#8 KIIV
no nejdrive mam alokovane pole ukolu, kde ukladam ID a typ a pak mam alokovane pole casu kde ukladam datum a cas, ale pak bych chtel podle shodnych ID priradit datum a cas pod jednotlive typy ukolu kdyz to udelam staticky, tak ze ve strukture Ukol mam DatumAcas data[5], tak mi to jede, ale jak to vyalokuji ukoly->data = new DatumAcas[5]; tak nic. Chtel bych to udelat tak, abych mohl treba v dvojim cyklu for  prochazet poledat a poleukolu a kdyz se ID rovnaji tak do poleukolu[i].data[0] = poledat[j] pak poleukolu[i].data[1] = poledat[j] atd

ale prave kdyz to udelam s dyn. alokaci, tak mi to pada

Nahlásit jako SPAM
IP: 89.203.252.–
Zjistit počet nových příspěvků

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žit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 8 hostů

Podobná vlákna

Ukazatel ve strukture — založil Hlavinka

Retazec v strukture — založil michal

Soubor ve struktuře — založil Jan

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý