3 svar
158 visningar
Hans är nöjd med hjälpen
Hans 11 – Fd. Medlem
Postad: 28 jan 2019 18:16

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 28536
Postad: 28 jan 2019 18:23

pq blir nullpekaren om malloc misslyckades.

Laguna 28536
Postad: 28 jan 2019 21:37

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

Qetsiyah 6503 – Livehjälpare
Postad: 28 jan 2019 21:46

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

Svara Avbryt
Close