역시나 포인터 질문입니다.

uchi의 이미지

#include <iostream>
using namespace std;
struct car
{
    char corp[20];
    int year;
};

int main()
{
    int num;

    cout << "몇 대의 차를 목록으로 관리하시겠습니까? ";
    cin >> num;

    car * pcar = new car [num];

    for(int i = 0; i < num; i++)
    {
	cout << "자동차 #" << i + 1 << ":\n";
	cout << "제작업체: ";
	cin >> pcar[num]->corp;
	cout << "제작년도: ";
	cin >> pcar[num]->year;
    }
    for (int j=0; j<num; j++)
    {
	cout << "현재 귀하가 보유하고 있는 자동차 목록은 다음과 같습니다.\n";
	cout << pcar[num]->year << "년형 " << pcar[num]->corp << endl;
    }
    delete [] pcar;
    return 0;
}

저 소스에서
cin >> pcar[num]->corp;
이 부분을 구현할려면 어떻게 해야하나요? 일단 저건 에러가 나는걸 확인했고.
목적은 new로 만들어진 구조체 배열에 포인터로 접근해서 멤버를 사용할려는거거든요.
(*pcar[num]).corp 이렇게 해봐도 안되는군요...
책을읽어봐도 이해가 가지 않은 상태에서 응용을 하려니 어렵네요.-_-a

moonzoo의 이미지

pcar[num].corp 하면 되지 않을까여?

uchi의 이미지

역시... 책만 디립다 파는것보다 이곳에 질문한번 하는게 빠르군요..-_-;;
감사합니다.T.T

bootflag의 이미지

pcar[i].corp 아닌가요?

uchi의 이미지

예.. 그건 제가 잘못 썼더군요.^^a

alwaysN00b의 이미지

(pcar+i)->corp;

이건 안되는가? ㅡㅡ;;

언제나 시작