Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 포인터 변수와 참조 변수의 차이점은 무엇입니까?

<시간/>

참조

변수가 참조로 선언되면 기존 변수의 대체 이름이 됩니다.

구문

Type &newname = existing name;

초기화

Type &pointer;
pointer = variable name;

포인터

포인터는 변수의 주소를 저장하는 데 사용됩니다.

구문

Type *pointer;

초기화

Type *pointer; 
pointer = variable name;


참조와 포인터의 주요 차이점은 -

  • 참조는 다른 이름의 기존 변수를 참조하는 데 사용되는 반면 포인터는 변수의 주소를 저장하는 데 사용됩니다.
  • 참조는 null 값을 할당할 수 없지만 포인터는 할당할 수 있습니다.
  • 참조 변수는 값으로 우회할 수 있는 반면 포인터는 참조할 수 있지만 참조로 전달할 수 있습니다.
  • 참조는 선언 시 초기화되어야 하지만 포인터의 경우에는 필요하지 않습니다.
  • 참조는 원래 변수와 동일한 메모리 주소를 공유하지만 스택에서 약간의 공간도 차지하는 반면 포인터는 스택에서 자체 메모리 주소와 크기를 갖습니다.