new AAA * [3];은 포인터 타입 3개짜리 배열을 선언하여 그 첫번째 원소의 주소값을 돌려줍니다.
이걸 받아서 a에 저장하는거죠.
그러면 a는 새로 만들어진 크기 3개짜리 원소의 첫번째 원소를 가리키게 되는 겁니다.
그래서 a의 타입이 AAA ** 인 겁니다. (AAA *)* 라고 묶어서 생각해 보시는 것도 좋겠군요.
이중 포인터 문제이므로 사실 C 하셨으면 쉬운 문제입니다.
C스타일대로 쓰자면
AAA **a;
...
a = malloc(sizeof(AAA*) * 3);
이런 거죠.
재귀적으로 생각해 보세요. a는 포인터
재귀적으로 생각해 보세요.
a는 포인터 타입입니다.
무엇을 가리키는가.
AAA *형을 가리킵니다.
AAA *형은 무엇인가
AAA를 가리키는 포인터 타입입니다.
new AAA * [3];은 포인터 타입 3개짜리 배열을 선언하여 그 첫번째 원소의 주소값을 돌려줍니다.
이걸 받아서 a에 저장하는거죠.
그러면 a는 새로 만들어진 크기 3개짜리 원소의 첫번째 원소를 가리키게 되는 겁니다.
그래서 a의 타입이 AAA ** 인 겁니다. (AAA *)* 라고 묶어서 생각해 보시는 것도 좋겠군요.
이중 포인터 문제이므로 사실 C 하셨으면 쉬운 문제입니다.
C스타일대로 쓰자면
AAA **a;
...
a = malloc(sizeof(AAA*) * 3);
이런 거죠.
좋은 답변 감사드립니다! 아직 내공이 부족하군요
좋은 답변 감사드립니다!
아직 내공이 부족하군요 ㅠ_ㅠ
댓글 달기