과제를 다룰 예정입니다. 나는 구조체 시작 :구조체에 대한 포인터
strcpy(figures[i].figure_name,f_name);
지금 내 코드를 수정하고 필요해야 다음과 같이
struct figures_struct
{
char figure_name[130];
double figure_coordinates[1000000];
};
내가 파일에서 그림의 이름을 읽고, 내가 구조체로 저장 동적 메모리를 사용하십시오. 내가 그랬어 :
struct figures_struct
{
char figure_name[130];
double figure_coordinates[100000];
};
struct figures_struct *figures = malloc(size * sizeof(struct figures_struct));
자, 어떻게 구조체에 그림 이름을 저장합니까? figures[i].figure_name
이 작동하지 않는 것 같습니다. (포인터와 배열은 C 거의 상호 교환으로) 여전히 포인터와 함께 작동합니다
오류가 표시되는 내용과 시도한 내용을 포함하면 유용합니다. –
"작동하지 않는 것"은 무엇을 의미합니까? 'figures {i} .figure_name' 자체만으로는 아무런 문제가 없습니다. 'strcpy (figures [i] .figure_name, f_name)'는 완벽하게 잘 동작 할 것이다. – AnT
구조 액세스에 대한 * exact * 구문이 작동합니다. 그리고 둘 다 당신의 색인 (i)이 결코 당신의 차원 (크기)을 초과하지 않을 것이라는 것을 암시합니다. 당신의 할당은 시간이 지남에 따라 구조체의 할당 된 수를 늘릴 수 있다는 것을 요구합니다. 왜냐하면 그것은 완전히 다른 질문 (및 대답)이기 때문입니다. – WhozCraig