Проблема в этой строке ближе к концу:
printf("%lf", *(list.ballPtr).x);
Оператор выбора элемента .
имеет более высокий приоритет, чем оператор разыменования *
.Таким образом, компилятор считает, что вы пытаетесь получить доступ к указателю в виде структуры.Вы можете исправить это, переместив скобку:
printf("%lf", (*list.ballPtr).x);
или воспользовавшись указателем на оператор-член ->
вместо:
printf("%lf", list.ballPtr->x);