더블 포인터 공부하다가 의문점이 생겼어요
int num1=10,num2=20,num3=20;
int *ptr1=&num1, *ptr2=&num2, *ptr3=&num3;
int ptr_arr[3]={ptr1,ptr2,ptr3}
int dptr_arr[3]=ptr_arr;
인데 num1값을 출력하려면
**dptr_arr, **ptr_arr, *dptr_arr[0], *ptr_arr[0] 인데
왜 * 갯수가 같나요?
만약 int *** tptr_arr=&dptr_arr 하면 ***tptr_arr, **tptr_arr[0]인데 왜 저 위 2개는 둘이 동일할까요?
10개의 댓글
무분별한 사용은 차단될 수 있습니다.
중복은붐업부터박고시작
int dptr_arr[3] = ptr_arr;면 그냥 dptr_arr라는 정수배열에 ptr_arr배열이 그대로 복사되는거잖아
클로로프렌
아 그런 개념으로 보는 거구나 ㄷㄷ 감사합니다
중복은붐업부터박고시작
그리고 c에서 저렇게 해도 경고나 오류 안뜸? 컴파일러마다 다르긴하겠지만 int에서 int*로 자동변환이 되던가...
int *ptr_arr[3] = {ptr1, ptr2, ptr3};
int **dptr = ptr_arr; 하면 의도한대로 될듯
클로로프렌
cpp로 한거라 그런거 일 수도 있긴한데 되긴 했어요
이제 이해해서 ㅎㅎ 행복
월화수목금토일
클로로프렌
대충 스킵해서 이꼴난듯 처음 배운책에는 이중 포인터 개념이 없어서;; 이럼 ㅇㅇ
월화수목금토일
클로로프렌
윤성우 책 구매해서 무료 인강있어요 ㅇㅇ 처음에 배울 때 책만 싹 보고 빠르게 넘겨서 포인터랑 구조체가 너무 약함;;; 일단 내일 봐야 할 듯ㄷㄷ
월화수목금토일
클로로프렌
Yeah~