집 >백엔드 개발 >C#.Net 튜토리얼 >참조와 포인터의 차이점은 무엇입니까
참조와 포인터의 차이점은 다음과 같습니다. 1. 프로그램은 포인터 변수에 메모리 영역을 할당하지만 참조에는 할당하지 않습니다. 2. 참조는 정의될 때 초기화되며 나중에 변경할 수 없습니다. 3. 포인터를 사용하는 경우 "*"를 추가해야 참조를 직접 사용할 수 있습니다.
우선, 포인터는 주소의 개념입니다. 포인터는 메모리 조각을 가리키며, 그 내용은 참조하는 메모리의 주소입니다. 메모리.
(추천 튜토리얼: c 언어 튜토리얼)
상세 소개:
프로그램은 포인터 변수에 메모리 영역을 할당하지만 참조에는 할당하지 않습니다.
포인터 사용시 앞에 *를 추가하면 레퍼런스를 바로 사용할 수 있습니다.
참조는 정의될 때 초기화되며 나중에 변경할 수 없습니다. 즉, 참조된 개체는 변경할 수 없지만 포인터의 개체는 변경될 수 있습니다.
널 참조는 없지만 널 포인터는 있습니다. 이는 포인터를 사용하는 것보다 참조를 사용하는 코드를 더 효율적으로 만듭니다. 참조를 사용하기 전에 참조의 유효성을 테스트할 필요가 없기 때문입니다. 대조적으로, 포인터는 null이 되지 않도록 항상 테스트되어야 합니다.
참조에 "sizeof"를 사용하면 변수의 크기를 얻을 수 있고, 포인터에 "sizeof"를 사용하면 변수의 주소 크기를 얻을 수 있습니다.
이론적으로 포인터 수준 수에는 제한이 없지만 참조 수준은 1개뿐입니다. 즉, 참조에 대한 참조는 없지만 포인터에 대한 포인터는 있을 수 있습니다.
int **p //合法 int &&p //非法
++ 참조와 ++ 포인터는 효과가 다릅니다.
예를 들어 ++ 연산의 경우 참조에 대한 연산은 포인터를 변경하는 대신 가리키는 객체를 직접 반영하며, 포인터에 대한 연산은 내용을 변경하는 대신 포인터가 다음 객체를 가리키도록 합니다. 뾰족한 물체의.
위 내용은 참조와 포인터의 차이점은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!