>백엔드 개발 >C#.Net 튜토리얼 >참조와 포인터의 차이점은 무엇입니까

참조와 포인터의 차이점은 무엇입니까

王林
王林원래의
2020-07-18 15:43:4611500검색

참조와 포인터의 차이점은 다음과 같습니다. 1. 프로그램은 포인터 변수에 메모리 영역을 할당하지만 참조에는 할당하지 않습니다. 2. 참조는 정의될 때 초기화되며 나중에 변경할 수 없습니다. 3. 포인터를 사용하는 경우 "*"를 추가해야 참조를 직접 사용할 수 있습니다.

참조와 포인터의 차이점은 무엇입니까

우선, 포인터는 주소의 개념입니다. 포인터는 메모리 조각을 가리키며, 그 내용은 참조하는 메모리의 주소입니다. 메모리.

(추천 튜토리얼: c 언어 튜토리얼)

상세 소개:

프로그램은 포인터 변수에 메모리 영역을 할당하지만 참조에는 할당하지 않습니다.

포인터 사용시 앞에 *를 추가하면 레퍼런스를 바로 사용할 수 있습니다.

참조는 정의될 때 초기화되며 나중에 변경할 수 없습니다. 즉, 참조된 개체는 변경할 수 없지만 포인터의 개체는 변경될 수 있습니다.

널 참조는 없지만 널 포인터는 있습니다. 이는 포인터를 사용하는 것보다 참조를 사용하는 코드를 더 효율적으로 만듭니다. 참조를 사용하기 전에 참조의 유효성을 테스트할 필요가 없기 때문입니다. 대조적으로, 포인터는 null이 되지 않도록 항상 테스트되어야 합니다.

참조에 "sizeof"를 사용하면 변수의 크기를 얻을 수 있고, 포인터에 "sizeof"를 사용하면 변수의 주소 크기를 얻을 수 있습니다.

이론적으로 포인터 수준 수에는 제한이 없지만 참조 수준은 1개뿐입니다. 즉, 참조에 대한 참조는 없지만 포인터에 대한 포인터는 있을 수 있습니다.

int **p //合法
int &&p //非法

++ 참조와 ++ 포인터는 효과가 다릅니다.

예를 들어 ++ 연산의 경우 참조에 대한 연산은 포인터를 변경하는 대신 가리키는 객체를 직접 반영하며, 포인터에 대한 연산은 내용을 변경하는 대신 포인터가 다음 객체를 가리키도록 합니다. 뾰족한 물체의.

위 내용은 참조와 포인터의 차이점은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.