강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

csgwe님의 프로필 이미지
csgwe

작성한 질문수

(2025) 일주일만에 합격하는 정보처리기사 실기

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

다차원 배열 포인터 변수 선언할때

해결된 질문

작성

·

23

0

포인터 조작과 출제패턴 강의 27:07초에서
다차원 배열 포인터 변수 선언할때 왜 괄호를 *ptr 에 씌워주는지 궁금하네요. 원래 그런 방식으로 사용하기로 합의가 된건가요?

답변 2

0

주말코딩님의 프로필 이미지
주말코딩
지식공유자

네 맞습니다.

다차원에 대해서 몇 개 단위로 가리킬 수 있을지 포인터를 선언하려면 배열 포인터로 해야합니다.

배열 자체를 가리키는 포인터라는 의미입니다.

 

구문에 대해서는 언어 스펙이라 외우는 것 밖에 없습니다.

0

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

다차원 배열에서 포인터를 선언할 때 괄호를 사용하여 (*ptr) 라고 씌워주는 방식은 C 언어의 구문에 따른 것입니다. 괄호를 사용하는 이유와 관련하여 설명드리겠습니다.

다차원 배열 포인터 선언과 괄호의 역할

  1. 우선순위 지정:

    • int (*ptr)[10] 와 같은 선언에서 괄호는 ptrint 배열의 포인터라는 것을 지정하는 데 사용됩니다.
    • 괄호가 없으면, int *ptr[10] 는 배열의 포인터가 아닌 포인터의 배열로 인식될 수 있어, 의미가 달라집니다.
  2. 명확성:

    • 괄호는 포인터가 실제로 배열을 가리키고 있음을 명확히 나타내며, 복잡한 선언에서 구문 해석을 용이하게 합니다.

이와 관련된 유사한 질문들은 다차원 배열과 문자열 배열 22분 쯤 질문에서도 다루어졌습니다. 이 링크를 통해 정수형 배열과 문자열 포인터 배열을 다룰 때 주의해야 할 점들을 이해하실 수 있을 것입니다.

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

csgwe님의 프로필 이미지
csgwe

작성한 질문수

질문하기