Я не уверен, как индексировать один непрерывный фрагмент динамически выделенной памяти.
typedef struct p
{
char name[30];
int age;
} Person;
...в основном
//Create enough memory to hold 20 'Person's
Person *people = (Person *)malloc(sizeof(Person) * 20);
Как я могу проиндексировать это, чтобы установить имя переменной и возраст каждого человека? Учитывая, что файл имеет правильную компоновку.
Я попытался сделать следующее, но после пары итераций я получил segfault.
int i;
for (i = 0; i < 20; i++) {
fscanf(file, "%s", (people + (i * sizeof(Person)))->name);
fscanf(file, "%d", &((people + (i * sizeof(Person)))->age));
}
Есть ли способ индексировать с помощью «[x]»?
Спасибо