У меня есть своя собственная структура данных, которая имитирует блок кучи.В C, как улучшить итерацию через список?
typedef struct heap_block
{
struct heap_block* next;
size_t size;
bool isfree;
} header;
У меня есть метод, который перебирает мою структуру данных (это как список):
void craw(header* crawler, bool isfree, int* counter)
{
while(crawler->next != NULL)
{
if(crawler->isfree == isfree)
{
++(*counter);
}
crawler = crawler->next;
}
if(crawler->isfree == isfree)
{
++(*counter);
}
}
Мне нужно использовать дополнительную проверку, потому что последний элемент имеет crawler->next == NULL
Как улучшить эта итерация?
, если ваш код работает нормально, вы можете попробовать свою удачу по адресу http: // codereview .stackexchange.com –
Как насчет проверки 'crawler! = NULL' вместо этого? – Lundin
Использование 'for (; crawler; crawler = crawler-> next) {...}' loop выглядит проще. – wildplasser