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