#include <stdio.h>
int main() {
// 2D 배열 (3행 4열)
int arr[3][4] = {
{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}
};
// 포인터 배열 (각각 행의 시작 주소를 저장)
int *ptr_arr[3];
// 각 행의 시작 주소를 포인터 배열에 저장
for(int i = 0; i < 3; i++) {
ptr_arr[i] = arr[i];
}
// 포인터 배열을 통해 2D 배열을 출력
for(int i = 0; i < 3; i++) {
for(int j = 0; j < 4; j++) {
printf("%d ", *(ptr_arr
[i
] + j
)); // 포인터를 사용해 각 값 출력 }
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgbWFpbigpIHsKICAgIC8vIDJEIOuwsOyXtCAoM+2WiSA07Je0KQogICAgaW50IGFyclszXVs0XSA9IHsKICAgICAgICB7MSwgMiwgMywgNH0sCiAgICAgICAgezUsIDYsIDcsIDh9LAogICAgICAgIHs5LCAxMCwgMTEsIDEyfQogICAgfTsKCiAgICAvLyDtj6zsnbjthLAg67Cw7Je0ICjqsIHqsIEg7ZaJ7J2YIOyLnOyekSDso7zshozrpbwg7KCA7J6lKQogICAgaW50ICpwdHJfYXJyWzNdOwoKICAgIC8vIOqwgSDtlonsnZgg7Iuc7J6RIOyjvOyGjOulvCDtj6zsnbjthLAg67Cw7Je07JeQIOyggOyepQogICAgZm9yKGludCBpID0gMDsgaSA8IDM7IGkrKykgewogICAgICAgIHB0cl9hcnJbaV0gPSBhcnJbaV07CiAgICB9CgogICAgLy8g7Y+s7J247YSwIOuwsOyXtOydhCDthrXtlbQgMkQg67Cw7Je07J2EIOy2nOugpQogICAgcHJpbnRmKCIyRCDrsLDsl7TsnZgg6rCS65OkOiBcbiIpOwogICAgZm9yKGludCBpID0gMDsgaSA8IDM7IGkrKykgewogICAgICAgIGZvcihpbnQgaiA9IDA7IGogPCA0OyBqKyspIHsKICAgICAgICAgICAgcHJpbnRmKCIlZCAiLCAqKHB0cl9hcnJbaV0gKyBqKSk7IC8vIO2PrOyduO2EsOulvCDsgqzsmqntlbQg6rCBIOqwkiDstpzroKUKICAgICAgICB9CiAgICAgICAgcHJpbnRmKCJcbiIpOwogICAgfQoKICAgIHJldHVybiAwOwp9Cg==