2025. 1. 14. 00:24, C++
아래 코드를 실행하면 어떻게 될까?
#include <iostream>
using namespace std;
int main()
{
int a[]={0,1,2};
cout << 2[a] << endl;
return 0;
}
결과는 2가 출력된다
보통은 배열 인덱싱을 사용할때 a[2] 이렇게 사용하는데
a는 첫번쨰 요소를 가르키는 포인터, *(a+2)와 동일하게 동작한다
사실 2[a]도 똑같다
2[a]는 *(2+a)로 동작하기 때문에 a[2]와 같은 의미를 가진다
그러나 코드의 가독성과 유지보수를 고려했을때
실제 코드에선 이런 표현을 사용하지 않는다
직관적인 a[2]의 형태로 사용하자
'C++' 카테고리의 다른 글
C++ 참조 ( Reference ) (0) | 2025.01.14 |
---|---|
C++ 포인터 ( Pointer ) (0) | 2025.01.14 |
C++ 공용체 ( Union ) (0) | 2025.01.14 |
C++ 구조체 ( Structure ) (0) | 2025.01.14 |
C++ 헷갈리는 Pointer 와 const와 reference (0) | 2025.01.14 |
Comments