Указатели указывают на никуда, поскольку вы не выделили для них памяти для указания.
int main(void)
{
student* students = (student*)malloc(sizeof(student)*[NUMBER_OF_STUDENTS]); \\malloc dynamically allocate heap memory during runtime
strcpy(students[0]->name, "test");
strcpy(students[0]->surname, "test");
students[0]->grade = 18;
return EXIT_SUCCESS;
}
* Примечание Редактировать marko -- Строго говоря, указатели указывают на то, что было последним в расположении стека, или регистрируют, удерживая его - это может быть ничто или то, что вас действительно волнует.Радости UB