Menu
Coddy logo textTech

주소 연산자

Coddy C++ 여정의 로직과 흐름 섹션에 포함된 레슨 — 56개 중 2번째.

이제 포인터가 무엇인지 이해했으므로, 변수의 메모리 주소를 실제로 가져오는 방법을 배워야 합니다. 여기서 주소 연산자(&)가 사용됩니다.

주소 연산자 &는 변수의 메모리 주소를 가져오기 위해 변수 이름 앞에 배치됩니다. &variable_name을 사용하면 해당 변수가 저장된 메모리 위치를 반환합니다.

int number = 42;
int* ptr = &number;  // ptr은 이제 number의 주소를 저장합니다

이 예제에서, &number는 변수 number의 메모리 주소를 가져오며, 그 주소를 포인터 ptr에 할당합니다. 포인터는 값 42를 포함하는 것이 아니라, 42가 저장된 주소를 포함합니다.

변수와 그 포인터 사이의 이러한 연결은 메모리를 직접 다루는 데 필수적입니다. 주소를 저장하는 포인터가 있으면, 이를 사용하여 원래 변수에 간접적으로 접근하거나 수정할 수 있습니다.

challenge icon

챌린지

쉬움

정수 변수와 포인터를 사용하여 주소 연산자(address-of operator)를 시연하는 프로그램을 작성하세요.

score라는 이름의 정수 변수를 선언하고 85라는 값으로 초기화하세요.

주소 연산자를 사용하여 score 변수의 메모리 주소를 저장하는 scorePtr라는 이름의 포인터를 생성하세요.

다음 형식을 사용하여 포인터에 저장된 메모리 주소를 출력하세요:

Address: [memory address]

메모리 주소는 C++에서 일반적으로 메모리 주소를 표시하는 방식인 16진수 형식(예: 0x7fff5fbff6ac)으로 표시됩니다.

치트 시트

주소 연산자 &는 변수의 메모리 주소를 얻는 데 사용됩니다:

int number = 42;
int* ptr = &number;  // ptr은 number의 주소를 저장합니다

&variable_name을 사용하면 해당 변수가 저장된 메모리 위치를 반환합니다. 포인터는 변수의 실제 값이 아니라 주소를 포함합니다.

직접 해보기

#include <iostream>
using namespace std;

int main() {
    // TODO: 아래에 코드를 작성하세요
    
    return 0;
}
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

로직과 흐름의 모든 레슨