Должен ли я установить для члена структуры, не являющегося Python, значение NULL или PyNone?Python

Программы на Python
Anonymous
Должен ли я установить для члена структуры, не являющегося Python, значение NULL или PyNone?

Сообщение Anonymous »

Возможно, мой вопрос заключается в том, что я чего-то не понимаю в API Python, но у меня есть следующий код для узла в связанном списке:

Код: Выделить всё

typedef struct Node {
PyObject* data;
struct Node* next;
} Node;

static inline Node* create_node(PyObject* data)
{
Node* n = malloc(sizeof(Node));
if (!n) return PyErr_NoMemory();
n->data = data;
Py_INCREF(data);
n->next = NULL;
return n;
}
Однако у меня есть сомнения относительно того, что установить n->next.
Эта структура никогда не будет доступна пользователю Python и будет использоваться только внутри других функций C, которые в конечном итоге составляют модуль Python.
Я не знаю, следует ли установить для нее значение NULL или PyNone. Что бы вообще произошло, если бы я попытался разыменовать указатель на NULL с помощью Python?

Вернуться в «Python»