Итак, я работаю над алгоритмом, на который я хочу указать какую-то структуру.Указатель на структуру передается вокруг некоторых.Я не понимаю, как изменить адрес указателя, передав ссылку на него в функцию.Проблема демонстрируется в коде ниже:
cdef int there=42
cdef void point_to_there(int** a):
a[0] = &there
cdef int *a
a[0] = 13
print a[0]
point_to_there(&a)
print a[0]
дает
13
13
Но я бы хотел дать
13
42
Словами, как я представляюэто выглядит следующим образом:
there
- целое число, определенное в куче
point_to_there
берет указатель на указатель на int и получает указатель на int для указания наthere
(это полный рот)
cdef int *a
выделяет указатель на int
point_to_there(&a)
передает ссылку на указатель на int в функцию, так что указатель наint (a
) указывает на there
, что составляет 42.
Но это не так.Что я недопонимаю?