Menu
Coddy logo textTech

포인터 역참조

Coddy GO 여정의 기초 섹션에 포함된 레슨 — 109개 중 63번째.

포인터 역참조(*)를 사용하면 메모리 주소에 저장된 값에 접근할 수 있습니다. 이를 포인터를 "역참조"한다고 합니다.

변수와 해당 변수에 대한 포인터를 생성합니다:

func main() {
    number := 42
    pointer := &number
    
    // 포인터를 역참조하여 값을 가져옵니다
    value := *pointer
    
    fmt.Println("Pointer:", pointer)
    fmt.Println("Dereferenced value:", value)
}

출력은 포인터와 포인터가 가리키는 값을 모두 보여줍니다:

Pointer: 0xc000018030
Dereferenced value: 42

포인터 변수 앞의 별표(*)는 해당 메모리 주소에 있는 실제 값에 접근합니다.

challenge icon

챌린지

초급

이 챌린지에서는 Go에서 포인터 역참조를 연습합니다. 문자열 값을 가진 변수 message와 이를 가리키는 포인터 messagePtr가 있습니다.

여러분의 과제는 포인터를 역참조하여 포인터가 가리키는 값에 접근하고 이를 출력하는 것입니다.

치트 시트

별표(*) 연산자를 사용하여 포인터를 역참조하고 메모리 주소에 있는 값에 접근합니다:

number := 42
pointer := &number

// 포인터를 역참조하여 값을 가져옵니다
value := *pointer

fmt.Println("Pointer:", pointer)           // 0xc000018030
fmt.Println("Dereferenced value:", value)  // 42

포인터 변수 앞의 * 연산자는 해당 메모리 주소에 저장된 실제 값에 접근합니다.

직접 해보기

package main

import "fmt"

func main() {
	// 여기에 문자열 변수가 있습니다
	message := "Hello, pointers!"
	
	// 이것은 message 변수에 대한 포인터입니다
	messagePtr := &message
	
	// TODO: messagePtr를 역참조하여 가리키는 값을 가져옵니다
	// 그리고 그것을 'value' 변수에 저장합니다
	value := ""
	
	// 결과 출력
	fmt.Println("The pointer points to the value:", value)
}
quiz icon실력 점검

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

기초의 모든 레슨