English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
C++ 주소 연산자 &와 간접 주소 연산자를 제공합니다. *.
포인터는 다른 변수의 주소를 포함한 변수로, 다른 변수의 주소를 포함한 변수를 "지정"이라고 할 수 있습니다. 변수는任意의 데이터 타입이 될 수 있으며, 객체, 구조체 또는 포인터를 포함합니다.
&는 일원 연산자로, 연산자의 메모리 주소를 반환합니다. 예를 들어, var가 정수형 변수라면 &var는 그 주소입니다. 이 연산자는 다른 일원 연산자와 같은 우선순위를 가지며, 연산할 때는 오른쪽에서 왼쪽으로 순서로 수행됩니다.
& 연산자를 다음과 같이 읽을 수 있습니다."주소 연산자"그것은 다음과 같다는 의미입니다.&var "var의 주소"로 읽습니다.
두 번째 연산자는 간접 주소 연산자입니다 *그것은 & 연산자의 보완입니다.* 이는 일원 연산자로, 연산자가 지정한 주소의 변수의 값을 반환합니다.
다음 예제를 보고 이 두 연산자의 사용법을 이해해 주세요.
#include <iostream> using namespace std; int main () { int var; int *ptr; int val; var = 3000; // var의 주소 가져오기 ptr = &var; // ptr의 값을 가져오기 val = *ptr; cout << "var의 값: " << var << endl; cout << "ptr의 값: " << ptr << endl; cout << "val의 값: " << val << endl; return 0; }
위의 코드가 컴파일 및 실행될 때, 다음과 같은 결과가 생성됩니다:
var의 값:3000 ptr의 값: 0xbff64494 val의 값:3000