webForumDet fria alternativet

Utökning av dynamiska vektorer i C

C/C++

2 svar · 386 visningar · startad av m-blo

Medlem sedan maj 200423 inlägg
Frågan#1

Vi håller på att göra ett register. Vi har gjort klart hela registret, med ett undantag. Informationen i registret sparas i structar i en dynamisk array. Vi vet hur vi initierar en array som får lika många poster som konstanten INITIAL_SIZE. Men när vektorn är full har vi prövat malloc, calloc, och en funktion i Eric Roberts bibliotek (som vi använder), GetBlock, men inte fått något att fungera. Med calloc utökas vektorn men alla tidigare lagrade värden blir till null. När vi använder malloc utökas vektorn, fast tidigare lagrade värden blir konstiga. GetBlock har vi inte fått att fungera överhuvudtaget. Skulle vara tacksamma om någon kunde förklara hur man gör.

Medlem sedan sep. 20005 700 inlägg
#2

Jag är ingen grym C-kodare men går det inte att skapa en temporär array som är lika lång som orginalstorleken, pytsa över all data till den, omallokera första arrayen och sen lägga tillbaka data igen. Kanske finns snyggare lösningar?

Medlem sedan maj 200423 inlägg
#3

Tack... Ska försöka... Men enligt den labspecen vi fick verkade det som om vi inte skulle göra det.

273 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
132 ms — deklarationer (db)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)
131 ms — ändringar (db)