Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 포인터 연산자 *는 무엇입니까?


C++는 연산자 주소(&) 및 간접 참조 연산자(*)의 두 가지 포인터 연산자를 제공합니다. 포인터는 다른 변수의 주소를 포함하는 변수이거나 다른 변수의 주소를 포함하는 변수가 다른 변수를 "가리키는" 것이라고 말할 수 있습니다. 변수는 개체, 구조 또는 포인터 자체를 포함한 모든 데이터 유형이 될 수 있습니다.

간접 연산자(*)이며 &의 보수입니다. 피연산자가 지정한 주소에 있는 변수의 값을 반환하는 단항 연산자입니다. 예를 들어,

예시

#include <iostream>
using namespace std;
int main () {
   int  var;
   int  *ptr;
   int  val;
   var = 3000;
   
   // take the address of var
   ptr = &var;
   
   // take the value available at ptr      
   val = *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