Я должен заполнить массив указателями на структуры.Структура выглядит так:
typedef struct {
char* name;
double weiten[3];
} springer;
Теперь я хочу заполнить массив springer * spr [].У меня есть массив строк с именем namen, а n - это количество элементов, которое я хочу иметь в конце массива.
Функция для заполнения массива:
void fuellen(springer *spr[], const char* namen[], int n){
spr=calloc(n,sizeof(springer));
for(int i=0;i<n;i++){
(*spr[i]).name=calloc(30,sizeof(char));
strcpy((*spr[i]).name, namen[i]);
spr[i]->weiten[0]=zufallsWeite();
spr[i]->weiten[1]=zufallsWeite();
spr[i]->weiten[2]=zufallsWeite();
}
}
Итакструктуры, на которые указывает массив, должны быть заполнены структурами с именами в моем массиве символов в качестве имен.Массив, который также является частью структур, должен быть заполнен 3 случайно сгенерированными числами от 6 до 9 (zufallsWeite () дает их.
Теперь в основной функции я хочу использовать функцию:
const int N = 5;
const char *names[] = {"Tom Mueller","Timo Meier","Ulf Sommer","Tobi
Winter","Uwe Schmidt"};
springer *spr[N];
fuellen(spr, names, N);
Сборка работает, но затем программа закрывается, и я получаю сообщение об ошибке. Может кто-нибудь сказать мне, что я делаю неправильно? Я искал некоторое время, но ничего не нашел.