我在理解指向结构体的指针数组时遇到了麻烦。我创建了这个简单的例子来更好地理解它们。虽然它可以编译,但我一直在得到“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。请不要建议使用不同的数据结构。我特别想了解一下指向结构体的指针数组。谢谢!