NULL substitute for a double in C language 99 standard

Refresh

5 days ago

Views

47 time

-1

I am working on a Circularly-Doubly-Linked List with a sentinel in the C language with the 99 standard. The headers I am allowed to use for class are stdio.h, stdlib.h, and assert.h only.

The sentinel is a struct and the structs have a value data member which is a double value. I was wondering if there is a substitute for NULL with doubles? It appears NULL can be used for integer data types but not doubles. I tried using Nan and NAN but the compiler is not accepting these. I considered using an arbitrary number, but wanted to know if there was a specific stand-in for NULL in this particular situation?

1 answers

1

NaN является соответствующим значением для этой цели вы ищете. С представляет собой символ , NANкоторый может быть использован для представления NaN. Однако, определение NANсодержится в <math.h>, который не находится в заголовках вам разрешено использовать. Вместо этого, вы можете получить NaN через double NaN = strtod("NAN", 0);, после включения <stdlib.h>. (Кредит chux для напоминания) .

Это кажется странным , назначение может потребовать от вас использовать значение дозорного в doubleне давая вам доступ к <math.h>. Вы должны , вероятно , использовать нулевой указатель в элементе указателя структуры , а не пытаться использовать , doubleчтобы отметить конец списка. Или, если не пустой указатель, добавить еще один элемент в структуре использовать для обозначения конца. Или определить конец от помните , где вы вошли в список-когда вы уже пройдены циклический список обратно к начальной точке, вы полностью пройденной список.