[] приоритет над * оператором
Где-то в моем коде я делаю что-то очень плохое. Я'я получаю неопределенное поведение в моей переменной extrema, когда она работает, но в большинстве случаев это не такдаже беги. Любая помощь будет очень полезна.
#include
void get_extrema(int quadrant, int **extrema)
{
if (quadrant == 1)
{
*(extrema)[0] = 0;
*(extrema)[1] = 90;
}
else if (quadrant == 2)
{
*(extrema)[0] = -90;
*(extrema)[1] = 0;
}
}
void print(int* arr)
{
printf("%i",arr[0]);
printf(",");
printf("%i\n",arr[1]);
}
int main(void)
{
int *extrema = (int*)malloc(2*sizeof(int));
get_extrema(1,&extrema);
print(extrema);
get_extrema(2,&extrema);
print(extrema);
}
Я также пытался редактировать массив экстремумов с помощью арифметики указателей, как показано ниже:
**(extrema) = 0;
**(extrema+1) = 90;
Но это тоже не сработало. Я действительно понятия не имею, где это идет не так, и я мог бы действительно использовать некоторую помощь.