У меня возникли проблемы с пониманием массивов указателей на структуры. Я создал этот простой пример, чтобы лучше понять их. Хотя он компилируется, я продолжаю сбой «BAD ACCESS» (бессмысленные указатели) в точке, показанной ниже. Может ли кто-нибудь объяснить, почему это неправильно?Создание массива указателей на структуры - C++
#include <iostream>
using namespace std;
struct complex_num {
double real_part;
double imag_part;
};
void init_complex(complex_num *element) {
element->real_part = -1.0; // <--- EXECUTION STOPS HERE.
element->imag_part = 1.0;
}
int main(int argc, char *argv[]) {
int n = 5;
complex_num *array[n]; // Allocates for an array of n pointers to
// the complex_num structure, correct?
for (int i = 0; i < n; i++) {
init_complex(array[i]);
}
return 0;
}
Я знаю, что есть лучшие способы сделать это. Я знаю, что это очень C в стиле. Пожалуйста, не предлагайте другую структуру данных. Мне особенно интересно узнать о массивов указателей на структуры. Благодаря!