Ошибка передачи массива в структуру

mas[i].marks[j];
Это не обращение к элементу массива mas т.е к marks ?

Так его создать надо до этого.

mas[i].marks = ...

int *mas[i].marks[j]= new int[k];
Так его нужно создать?

Зачем это? Вы ж не пишете string *mas[i].FIO

Спасибо Вам, Alex! Вы как всегда сделали за меня самую сложную работу!