int main(void)
{
int n;
scanf("%d", &n);
int *cPtr[n];
for (int i = 0; i < n; i++)
{
// 이거 두개가 무슨 차이임? ㅠㅠㅠㅠㅠㅠ
int *cord = (int *)malloc(sizeof(int) * 2); // 입력한 대로 좌표가 생성됨
int cord[2] = {0, 0}; // 모든 좌표가 마지막 입력값을 갖게 됨
// ------------------------------------------------------------------------
scanf("%d %d", &cord[0], &cord[1]);
cPtr[i] = cord;
}
for (int i = 0; i < n; i++)
{
printf("%d %d\n", cPtr[i][0], cPtr[i][1]);
}
return 0;
}
ㅠㅠㅠㅠㅠㅠ
에멀록 쓰면 동적할당해서 힙영역에 저장소 생성해준다 아래껀 스택영역에 쓰는데 포문 안에 생성이므로 포문 나갈때 변수 메모리 할당이 풀린다 그래서 다음 재귀에서 해당 메모리주소를 다시 쓰는거고 외부 포인터 배열은 주소만 참조하는데 재귀하는동안 같은주소값만 써댓으니 당연히 안에 든 값이 같은거고
와 대박 감사함미다 형님
에멀록 쓴건 메모리 해제를 안해서 해당 메모리주소에 써진 값이 보존된거고 그리고 에멀록 쓰면 나중에 free로 메모리 해제해주는거 잊지마라
물론이죠 행님 언제나 잊지 않고 있습니다