• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

Reference

23.10.03 06:23 작성 조회수 113

1

조금 멍청한 질문이긴 한데 예전 수업에서 교수님께서

int *ptrint* ptr은 다른 것이라고 설명해주셨는데요.

그럼 int &refint& ref도 다른 것인가요?

 

다르다면 혹시 어떤 점에서 다른 것인가요?

답변 1

답변을 작성해보세요.

1

Soobak님의 프로필

Soobak

2023.10.03

안녕하세요, 답변 도우미 Soobak 입니다.

먼저, int *ptrint* ptr 은 기능적으로 다른 것이 아닙니다.
둘 다 정수형 포인터를 선언하는 것이며, 차이점은 공백의 위치에 따른 코딩 컨벤션의 차이입니다.

주로 여러 변수들을 한 번에 선언할 때 가독성에 따른 주의가 필요합니다.
예를 들어,

int* ptr1, value;

위 코드에서 ptr1 은 포인터로 선언되지만, value 는 일반 정수 타입으로 선언됩니다.
따라서,

int *ptr1, value;

위와 같이 선언함으로써 각 변수의 자료형에 대해 좀 더 명확히 할 수 있습니다.


마찬가지로, int& refint &ref 는 기능적으로 동일합니다.
다만, 참조자의 경우 반드시 선언과 동시에 초기화가 되어야 하므로, 여러 변수를 한 번에 선언하는 경우에도 개별적으로 초기화를 해주어야 합니다.