다음을 통해 공유


간접 참조 연산자: *

* cast-expression

설명

단항 간접 참조 연산자 (*) 역참조에 대 한 포인터입니다. 즉, 포인터 값 l 값으로 변환합니다.간접 참조 연산자의 피연산자 형식에 대 한 포인터 여야 합니다.간접 참조 식의 결과 포인터 형식이 파생 된 형식입니다.사용은 * 이 컨텍스트 연산자가 곱하기는 이항 연산자의 의미 다.

피연산자는 함수를 가리키는 경우 결과 함수 지정자입니다.저장소 위치를 가리키는 경우 결과 저장소 위치를 지정 하는 i-값입니다.

누적 포인터에 대 한 포인터를 역참조 하는 간접 참조 연산자를 사용할 수 있습니다.예를 들면 다음과 같습니다.

// expre_Indirection_Operator.cpp
// compile with: /EHsc
// Demonstrate indirection operator
#include <iostream>
using namespace std;
int main() {
   int n = 5;
   int *pn = &n;
   int **ppn = &pn;

   cout  << "Value of n:\n"
         << "direct value: " << n << endl
         << "indirect value: " << *pn << endl
         << "doubly indirect value: " << **ppn << endl
         << "address of n: " << pn << endl
         << "address of n via indirection: " << *ppn << endl;
}

포인터 값이 잘못된 경우 결과가 정의되지 않습니다.다음은 포인터 값을 무효화 하는 가장 일반적인 조건 중 일부를 포함 합니다.

  • 포인터는 null 포인터가입니다.

  • 포인터가 참조 시 표시 되지 않는 로컬 항목의 주소를 지정 합니다.

  • 포인터가 가리키는 개체의 형식에 대해 부적절 하 게 맞춰진 주소를 지정 합니다.

  • 포인터 실행 프로그램에서 사용 되는 없는 주소를 지정 합니다.

참고 항목

참조

단항 연산자 식

C + + 연산자

연산자 우선 순위 및 결합성

주소 연산자: &

개념

간접 참조 연산자의 주소 및