ringa_lee
포인터 p가 배열의 i번째 요소를 가리키는 경우 p n, n p 및 p-n은 각각 i n, i n 및 i-n 요소를 가리킵니다. 여기서 p가 가리키는 요소는 배열이므로 p 1은 배열의 다음 배열을 가리킵니다. 이는 다른 경우(예: int를 가리키는 경우)의 동작과 일치합니다.
참고: 코드의 cout 줄에는 정의되지 않은 동작이 포함되어 있습니다.
int array[10][20], (*p)[20] = array;
std::cout << p ;의 출력은 std::cout << p;과 동일하며 &array[0]을 출력합니다.
std::cout << p ;
std::cout << p;
&array[0]
std::cout << p;의 출력은 std::cout << p 1;과 동일하며 &array[1]을 출력합니다.
std::cout << p 1;
&array[1]
std::cout << p ; std::cout << p;은 &array[0] 및 &array[2]을 출력합니다.
std::cout << p ; std::cout << p;
&array[2]
std::cout << p << " " << p;정의되지 않은 동작이 포함되어 있어 프로그램의 출력을 추론할 수 없습니다.
std::cout << p << " " << p;
포인터 p가 배열의 i번째 요소를 가리키는 경우 p n, n p 및 p-n은 각각 i n, i n 및 i-n 요소를 가리킵니다.
여기서 p가 가리키는 요소는 배열이므로 p 1은 배열의 다음 배열을 가리킵니다. 이는 다른 경우(예: int를 가리키는 경우)의 동작과 일치합니다.
참고: 코드의 cout 줄에는 정의되지 않은 동작이 포함되어 있습니다.
참조
있음int array[10][20], (*p)[20] = array;
std::cout << p ;
의 출력은std::cout << p;
과 동일하며&array[0]
을 출력합니다.std::cout << p;
의 출력은std::cout << p 1;
과 동일하며&array[1]
을 출력합니다.std::cout << p ; std::cout << p;
은&array[0]
및&array[2]
을 출력합니다.std::cout << p << " " << p;
정의되지 않은 동작이 포함되어 있어 프로그램의 출력을 추론할 수 없습니다.