본문 바로가기
컴퓨터 사이언스/C언어

[C언어] * 연산자와 [ ] 연산자 : 포인터를 대상으로 사용할 수 있는 연산자

by 메리뉴데이 2020. 8. 14.

앞에서 말한 바와 같이 

포인터 변수와 함께 배열명이 포인터로 사용된다.

단 그 둘의 차이점은 변수로 사용되느냐 상수로 사용되느냐였다.

 

보통

요소의 순서를 나타낼 때 사용하는  [  ]연산자,

포인터를 선언하거나 어떤 메모리에 접근할 때 사용하는 * 연산자로 익숙하지만,

 

우리가 알고 있는 포인터 외에 배열에서 배열의 이름으로 쓰이고 있는 배열명도

동일하게 포인터(어느 메모리를 가리킨다)로서 기능을 하기 때문에, 

포인터나 배열명이나 둘 다 포인터를 피연산자로 하는 * 연산자와 [ ] 연산자를 사용할 수 있다.

 

다시 정리를 하자면, 포인터는 가리키고 있는 대상의 주소값을 가지고 있지만, 그 뿐 아니라 대상에 대한 (메모리에 접근하는 방식을 결정할) 자료형에 대한 정보까지 같이 가지고 있어야 포인터라고 할 수 있다.