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

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

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

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

1답변

  • 좋아요

    0

    싫어요
    채택취소하기

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

    int* myVariable1, myVariable2
    

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

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

    int *myVariable1, myVariable2
    

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

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

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

작성한 답변에 다른 개발자들이 댓글을 작성하거나 댓글에 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.