Код: Выделить всё
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;
}
Эта структура никогда не будет доступна пользователю Python и будет использоваться только внутри других функций C, которые в конечном итоге составляют модуль Python.
Я не знаю, следует ли установить для нее значение NULL или PyNone. Что бы вообще произошло, если бы я попытался разыменовать указатель на NULL с помощью Python?
Мобильная версия