C 배열에서 a[5] == 5[a] 가 어떻게 같은가요?


Stack Overflow podcast #34와 C 언어 프로그래밍(aka: K & R)에서 언급한 a[5] == 5[a]를 아직 잘 모르겠습니다.

포인터 연산 때문인것 같긴한데 어떻게 a[5] == 5[a]로 같을 수 있을까요?

  • 2016년 02월 02일에 작성됨

조회수 362


2 답변


int main() {
  int a[10];
  a[5]=10;
  printf("%d %d",a[5],5[a]);
  return 0;
}

이렇게 하니까 10 10나오긴 하네요.

  • 2016년 02월 02일에 작성됨


alt text

link : stackoverflow

위와 같다고 나오네요. 결국 언어차원에서 정의된 오퍼레이터 관련 문제였네요.

  • 2016년 02월 02일에 작성됨
    우보천리를 지향하는 프로그래머 - 잘 하고 싶지만, 아직 부족한 프로그래머

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close