배열과 포인터는 C/C++에서 매우 유사하게 작동합니다. 그러나 약간의 미묘한 차이가 있습니다. 예를 들어, sizeof 연산자는 둘에서 상당히 다르게 작동합니다. 포인터의 배열을 변환할 때
예시
#include<iostream> int main() { const int a[] = { 2, 3, 5, 7, 11 }; const int* p = a; std::cout << ( sizeof(p) != sizeof(a) ); }
출력
이것은 출력을 제공합니다 -
1
포인터의 sizeof 연산자는 실제로 배열의 크기가 아닌 포인터의 크기를 제공합니다. 포인터의 이러한 능력 상실을 "감쇠"라고 합니다.