我無法理解指向結構的指針數組。我創建了這個簡單的例子來更好地理解它們。雖然它編譯了,但我仍然在下面所示的地方出現「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的風格。請不要建議不同的數據結構。我很好奇指向結構指針的數組。謝謝!