Пожалуйста, проверьте ваш код. То, что вы публикуете, - это вздор - у вас есть неинициализированная переменная и передайте ее функции. Это неопределенное поведение и может привести к сбою или ухудшению до того, как функция даже начнет выполнение.
Я думаю, вы смущены тем, что вы называете «двойной указатель». Нет такой вещи, как «двойной указатель». Указатель указывает на что-то, он не является двухточечным. Указатель может указывать на int (int *) или на структуру T (struct T *) или на float * (float **). В float ** есть два *, но это не делает его «двойным указателем». Это обычный указатель, который указывает на то, что само по себе является указателем.
Указатели как функциональные параметры чаще всего используются, поэтому функция может возвращать более одного значения. Скажем, функция get_width_and_height возвращается к Интс:
void get_width_and_height (int* width, int* height) {
*width = 10;
*height = 20;
}
int x, y;
get_width_and_height (&x, &y);
Теперь с этим, например, в виде, как бы вы написать функцию, которая возвращает два Int и один поплавок *?
Хорошо, извините за путаницу, у меня есть функция (void ** point), что мне нужно сделать, чтобы получить доступ к выходным данным. Я знаю, что если бы это была функция (с плавающей точкой * указатель), я бы объявить указатель с плавающей точкой: поплавка * указатель // а затем выделить память указателя = (поплавок *) таНосом (3 * 18139 * SizeOf (с плавающей точкой)); // а затем распечатать данные, которые я сделал бы: printf (указатель «% f» [0]); В чем дело с указателем void **? И как его инициализировать?как вы упомянули. – ionas