Должен ли я установить для члена структуры, не являющегося 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?
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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