C++는 연산자 주소(&) 및 간접 참조 연산자(*)의 두 가지 포인터 연산자를 제공합니다. 포인터는 다른 변수의 주소를 포함하는 변수이거나 다른 변수의 주소를 포함하는 변수가 다른 변수를 "가리키는" 것이라고 말할 수 있습니다. 변수는 개체, 구조 또는 포인터 자체를 포함한 모든 데이터 유형이 될 수 있습니다.
연산자(&)의 주소로 *의 보수입니다. 피연산자가 지정한 변수(r-value)의 주소를 반환하는 단항 연산자입니다. 예를 들어,
예시
#include <iostream> using namespace std; int main () { int var; int *ptr; int val; var = 3000; ptr = &var; // take the address of var val = *ptr; // take the value available at ptr cout << "Value of var :" << var << endl; cout << "Value of ptr :" << ptr << endl; cout << "Value of val :" << val << endl; return 0; }
출력
위의 코드를 컴파일하고 실행하면 다음과 같은 결과가 생성됩니다. -
Value of var : 3000 Value of ptr : 0xbff64494 Value of val : 3000