C 포인터 선언할 때 왜 별표를 타입 뒤가 아니라 이름 앞에 붙이나요?


C 포인터 선언할 때 왜 별표를 타입 뒤가 아니라 이름 앞에 붙이나요? 보통 선언하는 것 보니까

int* myVariable; 말고 int *myVariable;같이 쓰던데

둘 다 쓸 수 있는데도 왜 꼭 뒤에것처럼 이름 앞에 별표를 붙이나요?

  • 2016년 02월 04일에 작성됨

조회수 134


1 답변


좋아요
0
싫어요
채택취소하기

말씀하신 대로 둘 다 사용 가능합니다만, 가독성이나 전달받는 느낌이 달라서 그렇습니다.

int* myVariable1, myVariable2

는 어떤 느낌이 드시나요? 제 느낌에는 별표가 타입이랑 한 세트 같아서 myVariable2도 포인터 값은 느낌이 드네요.

하지만 실제로 myVariable2는 그냥 int타입입니다.

int *myVariable1, myVariable2

이렇게 하면 이제는 myVariable1만 포인터, myVariable2int라고 생각하지요.

변수를 여러 개 쓰는 상황엔 후자가 더 전달성이 좋기 때문에 보통 변수 이름 앞에 포인터 표시합니다.


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

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