inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

포인터 조작과 출제 패턴 (2. 포인터 증가/감소, 이중 포인터)

17강 포인터 조작과 출제패턴 / 10:00 / 이중포인터 출력 관련 문의

해결된 질문

75

태0

작성한 질문수 12

0

안녕하세요.

영상 10:00쯤(정확히는 10:39)에 printf(*(*ptr_b+1)); 부분 설명해 주실 때 *ptr_b+1은 ptr_b주소에서 char크기만큼 증가시키는거라고 설명해 주셨습니다.

그런데 이전 영상에서는 출력할때 포인터변수명 앞에 *(별표)를 붙이면 주소가 아닌 값을 가져오는거라고 설명해 주셨는데, 여기서는 왜 값이 아닌 주소를 불러오는건지 문의드립니다.

python java c 정보처리기사

답변 2

0

주말코딩

역참조는 값이 맞습니다. 그런데 그 값이 주소인 경우에는 헷갈리게 됩니다.

어떤 메모리의 주소가 다른 포인터에게는 값입니다. ("값" 자체가 다른 변수의 주소)

 

단계별로 설명드려보겠습니다.

char **ptr_b = &ptr_a;

 

  1. ptr_b의 타입은 char** (이중 포인터)

    • ptr_b에는 ptr_a의 주소가 담겨있습니다.

     

  2. *ptr_b를 하면?

    • "*를 붙였으니 값을 가져옵니다" (맞는 말)

    • 그런데 ptr_b가 char**이므로, *ptr_b의 타입은 char*입니다

    • char*는 포인터 타입이죠?

      따라서 가져온 "값"이 곧 "주소"(포인터)인 것입니다.

    • 즉, *ptr_b = ptr_a = str의 주소

  3. *ptr_b + 1은?

    • *ptr_b로 값(=주소)을 가져왔고

    • 그 주소에 +1을 해서 char 크기만큼 이동시킵니다.

  4. *(*ptr_b + 1)은?

    • 다시 *를 붙여서 그 주소에 있는 값을 최종적으로 가져옵니다.

핵심 정리

  • *를 붙이면 값을 가져온다"는 설명 자체는 맞습니다.

  • 다만, 포인터의 경우 그 "값" 자체가 "주소"입니다.

  • *ptr_b는 값을 가져오는데, ptr_b가 이중 포인터이므로 가져온 값이 char* 타입의 주소인 것입니다.

이것이 바로 이중 포인터의 개념입니다.

포인터를 가리키는 포인터이기 때문에, 한 번 역참조하면 여전히 포인터(주소)가 나오는 것이죠.

 

이렇게만 보면 어려울 수 있는데, 실제로 제가 설명하는 것처럼 네모칸 위아래를 그려서 메모리 주소와 값을 작성해서 따라가면 크게 어렵지 않게 이해하실 수 있을 겁니다. 

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 태0님.

이중 포인터와 관련된 질문에서 혼란스러움을 겪으셨군요. 포인터의 이해를 돕기 위해 설명을 드리겠습니다.

  1. 포인터의 기본 개념:

    • *ptr_b: 이 부분은 ptr_b가 가리키고 있는 메모리 주소의 값을 가져옵니다. 즉, ptr_b가 저장하고 있는 주소의 값을 가져오게 됩니다.
    • (*ptr_b + 1): ptr_b가 가리키고 있는 배열의 첫 번째 요소에 접근한 후, 그 다음 요소의 주소로 이동하는 것을 의미합니다.
  2. 포인터 연산:

    • *(*ptr_b + 1): 이는 최종적으로 두 번째 레벨의 포인터를 통해 해당 메모리 주소에 저장된 을 가져오기 위한 전체 표현식입니다. 즉, ptr_b가 가리키고 있는 포인터가 포인트하는 위치에서 다음 요소의 값을 가져오라는 의미입니다.

따라서, 이번 설명에서 *(*ptr_b + 1)이 주소를 가리키는 것이 아닌, 두 단계의 역참조를 통해 실제 저장된 값을 가져온 것임을 이해하셔야 합니다.

포인터와 메모리 주소 참조에 대해 더 많은 예시와 설명을 원하신다면, 다음 링크를 통해 관련 정보를 참조하세요:

저는 태0님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

필기자료 사라졌나요?(실기 일주일만에 안돼서 재도전-_-)

0

42

2

26년 1회 실기 해설 강의

0

59

2

53번 4-1 자료 오류 있는 것 같습니다.

0

72

2

7번문제

0

59

2

C언어 변형문제 9번문제 Pdf 수정요청

0

47

2

메서드 오버드라드

0

47

2

실수

0

46

1

공부 우선순위 우선강의 알려주세요

0

88

1

생성자 호출순서 강의 10번 문제 30분대 질문입니다

0

48

2

25년 2회 기출 5:40 질문입니다.

0

42

2

모의고사1회 3번 파이썬문제

0

74

2

C언어 출제변형 6번 문제

0

50

2

c언어 출제변형 강의 질문

0

31

2

28:40

0

33

2

C :  언어 배열과  문자열 수업자료

0

29

2

파이썬 리스트, 딕셔너리 질문

0

42

2

모의고사 관련 질문 건

1

69

3

자료 내용 오류

0

64

2

정적 변수, 정적 메서드(static) v2

0

48

2

v1.2 와 v0.91 PDF

0

101

1

업캐스팅 (부모형태, 자식생성자)

0

51

2

정보처리산업기사 준비중입니다.

0

74

2

실기 D -6

0

105

2

(기출) 2024년 2회 기출문제 - 이론 포함 22분32초 질문입니다

0

57

3