3 svar
168 visningar
Hans behöver inte mer hjälp
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 29873
Postad: 28 jan 2019 18:23

pq blir nullpekaren om malloc misslyckades.

Laguna 29873
Postad: 28 jan 2019 21:37

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

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

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

Svara
Close