Záznamy typu proměnných

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

mushkan
nováček
Příspěvky: 3
Registrován: leden 19
Pohlaví: Nespecifikováno

Záznamy typu proměnných

Příspěvekod mushkan » 29 led 2019 17:56

Snažím se převést záznamy o pevné délce různých datových typů a velikostí do jedné datové struktury v jazyce C. Přemýšlel jsem o použití struktur svazků, ale některé pole mohou mít délku až 50 znaků, takže spousta paměti by bylo zbytečné. Existuje lepší způsob ukládání těchto údajů?

Jako příklad:

20190128značka 24color 9 (int, 6 char, int, 6 char, int)

verylongname4520190128 (12 znaků, int, int)

jsou dva možné nahrávací formáty. Kdybych měl ukládat oba záznamy pomocí stejné struktury, jediná věc, na kterou momentálně můžu uvažovat, je použít spojení s char pole délky 13 a int pro všechny prvky tak, aby největší část dat lze uložit. To by vyhovovalo jakémukoli jinému záznamu za předpokladu, že řetězec s 12 znaky je největší proměnnou. Pro tento příklad by tato struktura měla být 5 z těchto svazků, takže mohl být uložen první záznam. To hodně odpadá, když ukládáte některý z rekordních formátů, takže to není tak skvělé řešení (imo).



Reklama
Uživatelský avatar
faraon
Master Level 8.5
Master Level 8.5
Příspěvky: 6815
Registrován: prosinec 10
Pohlaví: Muž

Re: Záznamy typu proměnných

Příspěvekod faraon » 29 led 2019 19:53

Co dát do té struktury ukazatel na pole znaků? Pak pro každý ten string alokuješ pouze potřebný počet bytů.
Nebo si alokovat velký blok paměti a do něj je ukládat stejným způsobem, tam bys teda musel provádět vlastní "správu paměti". Bylo by to sice pracnější, ale poběží to rychleji.
GOTT is REAL, unless declared INTEGER


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • notebook na filmy, občas na hry typu "league fo legends, .." do 6-7k?
    od note145 » 26 lis 2018 15:22 » v Rady s výběrem hardwaru a sestavením PC
    3
    377
    od Petrfoo
    26 lis 2018 17:11

Zpět na “Programování a tvorba webu”

Kdo je online

Uživatelé prohlížející si toto fórum: CommonCrawl [Bot] a 3 hosti