간접 참조 연산자: *
* 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 포인터가입니다.
포인터가 참조 시 표시 되지 않는 로컬 항목의 주소를 지정 합니다.
포인터가 가리키는 개체의 형식에 대해 부적절 하 게 맞춰진 주소를 지정 합니다.
포인터 실행 프로그램에서 사용 되는 없는 주소를 지정 합니다.