3
svar
168
visningar
Hans behöver inte mer hjälp
Vad betyder assert(bara ett uttryck)
pqueue* pqueue_empty(pqueue_cmp_func cmp_func)
{
pqueue* pq = malloc(sizeof *pq);
assert(pq);
pq->the_list = list_empty();
assert(pq->the_list);
pq->cmp_func = cmp_func;
return pq;
är kod vi har fått att sätta in i större funktioner. Men jag förstår inte vad assert(pq) betyder. Det står att funktionen ska kolla om något tex booleianskt uttryck är true tex (size < 55) det fattar jag, men vad menas med att den kollar om pq eller (pq->the_list) är true? de är ju bara en skapad kö, är de sanna om de existerar i minnet eller?
pq blir nullpekaren om malloc misslyckades.
Jag själv skulle skriva assert(pq != NULL).
Snyggt användarnamn, jag borde ha tagit det! Attans