В Java все находится в форме класса.
Если вы хотите использовать любой объект, тогда у вас есть две фазы:
Пример:
Object a;
a=new Object();
То же самое для концепции массива
Item i[]=new Item[5];
i[0]=new Item();
Если вы не дают секцию инициализации, тогда возникает NullpointerException
.
Когда вы просматриваете q[i].addr
, еще не было выделено памяти для q[i].addr
. Теперь все может произойти, потому что строка помещается в память, которая не принадлежит вам.
Вам также следует проверить возвращаемое значение fscanf, чтобы убедиться, что данные были правильно прочитаны.