구조체에 대한 포인터 배열을 이해하는 데 문제가 있습니다. 나는이 간단한 예제를 만들어 더 잘 이해하려고 노력했다. 그것이 컴파일 되긴하지만, 나는 아래에 보이는 지점에서 "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라는 것을 알고있다. 다른 데이터 구조를 제안하지 마십시오. 나는 구체적으로 구조에 대한 포인터의 배열에 대해 궁금 해서요. 감사!