我无法理解指向结构的指针数组。我创建了这个简单的示例来尝试更好地理解它们。虽然它可以编译,但我在下面显示的点处不断收到“BAD ACCESS”崩溃(无意义的指针)。谁能解释为什么这是错误的?
#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 的风格。请不要建议不同的数据结构。我特别好奇指向结构的指针数组。谢谢!