지금 포인터 끝내고포인터 배열 하고 있는데int a[3] = { 1,2,3 };int* p[3] = a;하면 p에 1,2,3 이 들어가야하는거 아닌가요?포인터까진 다 이해했는데왜 여기서 안되는지 모르겠습니다.
int arr[3] = {1,2,3}; int* p[3]; p[0] = arr; cout << *++p[0] << endl;
int형 배열은 int로이루어진 배열이지? int*형 배열인 포인터배열은 int*로이루어진배열이겠지?
p[0]이 arr(arr[3]) 을 가르키고, 출력할때보면 p[0]을출력하면 첫번쨰 1이 ++p[1]을출력하면 두번쨰인2가 뭐이런느낌 와닿음?
ㄴ 좀 더 디테일하게 설명해주실순없나요? 잘 이해가안가서요
int arr[3] : int형데이터를 집어넣을수있는박스가3개 / int* arr[3] : int형데이터를 가르키는 int*를 집어넣을수있는 박스가 3개
즉말해서 int* arr[3] 에 들어갈 요소들은 int형데이터가아니라 int*라는거임. int a[3] / int b[3] / int c[3] 이렇게 인트형배열3개를만들고 int* arr[3] 안에 a / b / c를 가르키는느낌이로 집어넣을수있다는얘기
배열의경우는 포인터가 첫번쨰를 가르킴 int arr[3] 의경우 arr을 포인터로 arr가르키면 arr[0]을 얘기하는거임
고맙습니다. 완벽히 이해했습니다.
ㅁㄴㅇ란멀미ㅏ넝리ㅏㅁ아낰미치게넼ㅋㅋ
http://lgstar.tk
커뮤니티 사이트 입니다 많은 이용 부탁 드립니다. - DCW