3 svar
27 visningar
Hans är nöjd med hjälpen!
Hans 11
Postad: 28 jan 2019

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?

Laguna Online 4386
Postad: 28 jan 2019

pq blir nullpekaren om malloc misslyckades.

Laguna Online 4386
Postad: 28 jan 2019

Jag själv skulle skriva assert(pq != NULL).

Qetsiyah 553
Postad: 28 jan 2019

 Snyggt användarnamn, jag borde ha tagit det! Attans

Svara Avbryt
Close