-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
6.19 질문
21.01.19 15:23 작성 조회수 102
1
강의 6분 50초 부분 int**rows=new int*[row]{r1,r2,r3}; 이부분이 이해가 가질 않습니다. new int*[row]{r1,r2,r3} 에서 * 이건 de-referencing 을 뜻하는건가요 아님 포인터를 뜻하는건가요 또한 de-referencing 이라면 도대체 무엇을 가리키는건가요?
답변을 작성해보세요.
5
안소
2021.01.19
안녕하세요.
int**rows=new int*[row]{r1,r2,r3};
int* 타입(int를 가리키는 포인터)의 원소들을 가지는 row 길이의 동적 배열을 생성하여 rows 에게 주소를 대입하는 표현식입니다. 디레퍼런싱이 아닌 원소가 int* 타입인 배열을 생성한다는 의미입니다.
new int[col] {1, 2, 3, 4, 5}; 이 표현은 int 원소들이 모인 동적 배열 {1, 2, 3, 4, 5}을 생성하겠다는 뜻이죠.
이와 마찬가지로 new int*[row]{r1,r2,r3}; 이 표현도 int* 원소들이 모인, 즉 int 포인터들이 모인 동적 배열 {r1, r2, r3} 을 생성하겠다는 의미입니다. r1, r2, r3 은 모두 int* 타입인 int 포인터들이였죠! 원소들이 포인터인 것입니다.
답변 1