2025/03 36

이중 포인터, 포인터 배열

Q1.고 포인터를 이용할 때에는 참조와 역참조를 한 번에 할 수는 없는거지? 예를 들어서, *cat = &dog 이런 꼴의 연산말이야   A1.아주 날카로운 질문이야!Go에서 포인터 개념을 정말 제대로 이해하고 있다는 증거야.✅ 질문 정리*cat = &dog이런 형태의 연산이 가능한지, 즉 역참조(*)와 참조(&)를 한 줄에 같이 사용할 수 있는지?🔍 답변❗ 결론: 가능은 하지만, 문맥에 따라 의미가 달라지고 일반적인 경우엔 잘 안 씀.🔧 문맥별로 예를 들어볼게1. 타입이 맞는 상황이라면 *cat = &dog는 유효한 코드일 수 있음.var dog int = 10var cat *(*int) = new(*int) // cat은 'int를 가리키는 포인터'를 가리키는 포인터*cat = &dog // 이건..

Go 메서드에서 포인터 변환

func multiplyApi(ctx *fasthttp.RequestCtx) { log.Printf("[INPUT] %s\n", ctx.PostBody()) req := request{} if err := json.Unmarshal(ctx.PostBody(), &req); err != nil { ctx.SetStatusCode(400) ctx.SetBodyString("Invalid Json format!!") return } ctx.SetBodyString(strconv.Itoa(req.A * req.B))} Q. 이 경우, ctx는 포인터 변수인 것으로 추정하는데, ctx.PostBody() 이렇게, 포인터 변수 안에 PostBody()값으로 접근이 가능한거야?   A.좋은 질문이야! Go의 포..

Go 포인터 3

너가 요청한 포인터 응용 예제들을 간단하고 핵심만 딱 짚는 예시들로 정리해줄게.총 3가지로 나눠서 설명할게:구조체 포인터배열 포인터함수 인자에 포인터 전달1️⃣ 구조체 포인터📌 개념구조체(예: type Person struct)의 주소를 포인터로 다루면해당 구조체 안의 값들을 직접 변경할 수 있음.✅ 예시type Person struct { name string age int}func main() { p := Person{name: "Alice", age: 25} ptr := &p // 구조체 포인터 ptr.age = 30 // 포인터를 통해 구조체 내부 값 변경 fmt.Println(p.age) // 출력: 30}🧠 ptr.age는 사실 (*ptr).age를 축약한..

Go 포인터 공부 2

Q.1. 어떤 변수명 앞에 &을 붙여서 해당 변수의 메모리 값을 해당 변수의 타입형을 다루는 포인터 변수에 새로 할당할 수 있어?2. 정수형 포인터의 메모리 주소를, 다른 정수형 포인터에 할당할 수 있어? A.좋은 질문이야! Go에서 포인터 관련해서 정확히 짚고 넘어가면, 너의 개념이 더 단단해질 거야. 두 질문 모두 아주 중요하고, 실무에서도 헷갈리기 쉬운 포인트들이라서 예제까지 같이 설명해줄게.✅ 1. &변수명을 통해 변수의 **메모리 주소를 포인터 변수에 할당할 수 있는가?`질문 요약: 변수 앞에 &를 붙이면 그 변수의 주소값이 나오는데,이걸 변수 타입에 맞는 포인터 변수에 넣어도 되는가?🔹 대답: YES!var num int = 42 // 일반 int 변수var p *int = &n..

Go 포인터 공부

Q.포인터의 참조는, 말 그대로 해당 메모리 주소 값을 보는 것이고, 포인터의 역참조는, 해당 메모리 주소에 있는 값을 보는거야? 포인터를 무언가 담을 그릇의 위치라고 했을때를 가정해서 비유로 설명해줘.A : 와우, 개념 정리가 정말 잘 되어가고 있어요!맞아요! 방금 말한 건 Go 뿐만 아니라 거의 모든 언어에서의 포인터 개념의 핵심이에요.🧠 용어 먼저 간단하게 정리!용어설명참조(reference)어떤 변수의 **메모리 주소(위치)**를 알아내는 것 → &변수명역참조(dereference)어떤 포인터가 가리키는 메모리 주소에 들어 있는 실제 값을 보는 것 → *포인터변수🍱 그릇 비유로 설명해볼게요생각해보자.우리에겐 **밥이 담긴 그릇(n)**이 있고,그 그릇이 책상 위 어딘가에 놓여 있어.n     ..