• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

코드 질문

19.02.08 15:58 작성 조회수 113

0

'''void swap(int &a, int &b)

{

int temp=a;

a = b;

b = temp;

printf(" in swap function a: %d, b: %dn", a, b);'''

을 썼을때

'''void swap(int *a, int *b)

{

int temp=a;

a = b;

b = temp;

printf(" in swap function a: %d, b: %dn", a, b);

}'''

썼을때랑 결과가 같은데 어떤것을 쓰는것이 더 좋아요?

답변 1

답변을 작성해보세요.

0

안녕하세요?

첫번째로 작성한 코드의 int &a 는 "참조자"라는 것으로, 어떤 변수에 별명을 지어주는 정도의 의미입니다. 이는 포인터 int * a 와는 다르며 우리 과정인 C 언어의 범위를 벗어납니다. C++ 에서 배우게 되는 내용이니, C에서는 두번째 작성한 코드로 사용하셔야 합니다. 포인터와 참조자, 둘의 차이점은 아래 링크에서 학습하실 수 있습니다. 감사합니다.

https://k96-ozon.tistory.com/m/27