시플플로 처음 이런거 공부해보는 유튜브 독학충인데
const int row = 3;
const int col = 5;
int* r1 = new int[col] {1, 2, 3, 4, 5};
int* r2 = new int[col] {6, 7, 8, 9, 10};
int* r3 = new int[col] {11, 12, 13, 14, 15};
int** rows = new int* [row] {r1, r2, r3};
맨밑줄에 rows 앞에 *가 하나 추가되는게 이해가 안감
포인터 3개를 담는 배열을 만드는건데
int* rows = new int* [row] {r1, r2, r3};
왜 이렇게 하면 안댐?
포인터 하나는 일반 변수의 주소를 담는거고, 포인터 두개는 일반 변수를 담는 포인터를 담는거 아님?
그럼 인트 포인터 배열이 아니고 인트 배열이잖아
int * rows = new int*[row]{인트, 인트, 인트}
인트 포인터 배열을 인트 포인터가 어케담어
이렇게 되야되는거 아님?
int** rows = new int* [row] {r1, r2, r3}; 이게 맞는거라는데 앞에 인트에 왜 *가 두개 붙어야하는지 이해가 안가요
위에 설명을 해줘도 모르냐 인트 포인터 배열을 가리키려면 인트 포인터 포인터가 필요한거야 2중 포인터는 포인터를 가리키는 포인터야 배열은 포인터로 묵시적 형 변환이 가능해 그러므로 인트 포인터 배열은 인트 포인터 포인터야
어 뭔가 이해가 갈랑말랑 할랑말랑 나올랑말랑함 ㄳ
뭔말인지 알겠씁니다 감사합니다
맨 위에 있잖아 포인터 하나는 일반 변수 주소 담고, 포인터 두개는 일반 변수를 담는 포인터의 주소담고
C로 포인터 안배우고 바로 cpp로 배우는거임?
엉
int a = 1; int * ap =&a; int ** app = ≈ 출력(a, *ap, **app) 이렇게 보면 이해됨?