문제

보다: 포인터 이해


많은 Clavored Languages와 Fortran과 같은 일부 오래된 언어에서 사용할 수 있습니다. 포인터.

Basic, JavaScript 및 ActionScript에서만 실제로 프로그래밍 한 사람으로서 포인터가 무엇인지, 가장 유용한 것이 무엇인지 설명해 주시겠습니까?

감사!

도움이 되었습니까?

해결책

포인터는 소리만큼 어렵지 않습니다. 다른 사람들이 이미 말했듯이, 다른 변수의 주소를 보유하는 변수입니다. 내가 당신에게 내 집으로의 길을주고 싶다고 가정 해 봅시다. 나는 당신에게 내 집의 사진이나 내 집의 스케일 모델을주지 않을 것입니다. 나는 당신에게 주소를 줄 것입니다. 당신은 당신이 그것으로부터 필요한 것을 추론 할 수 있습니다.

같은 방식으로, 많은 언어가 가치를 통과하는 것과 참조로 통과하는 것을 구별합니다. 본질적으로 그것은 내가 그것을 참조해야 할 때마다 전체 객체를 전달할 것입니까? 아니면 다른 사람들이 필요한 것을 추론 할 수 있도록 주소를 줄 것인가?

대부분의 현대 언어는 포인터가 유용 할 때를 파악하고 최적화함으로써 이러한 복잡성을 숨 깁니다. 그러나 당신이하고있는 일을 알고 있다면, 수동 포인터 관리는 여전히 어떤 상황에서도 유용 할 수 있습니다.

다른 팁

이 위키 백과 기사 포인터가 무엇인지에 대한 자세한 정보를 제공합니다.

컴퓨터 과학에서 포인터는 값이 주소를 사용하여 컴퓨터 메모리의 다른 곳에 저장된 다른 값을 직접 (또는 "포인트")하는 프로그래밍 언어 데이터 유형입니다. 포인터가 참조하는 값을 얻거나 요청하는 것을 포인터를 소환합니다. 포인터는 일반 참조 데이터 유형의 간단한 구현입니다 (C ++의 참조라고하는 시설과는 상당히 다릅니다). 데이터에 대한 포인터는 스트링 및 트리 구조를 가로 지르는 반복적 인 작업의 성능을 향상시키고 기능에 대한 포인터는 객체 지향 프로그래밍 및 동적 링크 라이브러리 (DLL)에 런타임 링크의 바인딩 방법에 사용됩니다.

포인터는 다른 변수의 주소를 포함하는 변수입니다. 이를 통해 간접적으로 다른 변수를 참조 할 수 있습니다. 예를 들어 C :

// x is an integer variable
int x = 5;
// xpointer is a variable that references (points to) integer variables
int *xpointer;
// We store the address (& operator) of x into xpointer.
xpointer = &x;
// We use the dereferencing operator (*) to say that we want to work with
// the variable that xpointer references
*xpointer = 7;
if (5 == x) {
    // Not true
} else if (7 == x) {
    // True since we used xpointer to modify x
}

이 주제에 대한 몇 가지 토론이있었습니다. 아래 링크와 함께 주제에 대한 정보를 찾을 수 있습니다. 주제에 대한 몇 가지 다른 관련 토론이 있지만, 이것이 가장 관련성이 있다고 생각합니다. 검색 창에서 '포인터 [C ++]'를 검색하면 더 많은 정보를 얻을 수 있습니다.

C ++에서는 포인터와 수업을 이해할 수 없습니다

현대의 '참조'와 전통적인 '포인터'의 차이점은 무엇입니까?

누군가 이미 언급했듯이 포인터는 다른 변수의 주소를 포함하는 변수입니다.

새 개체를 만들 때 주로 사용됩니다 (런타임).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top