inflearn logo
강의

Khóa học

Chia sẻ kiến thức

(2026 Mới nhất!) Đỗ thực hành Kỹ sư xử lý thông tin chỉ trong một tuần

Thao tác con trỏ và dạng bài thường gặp (2. Tăng/giảm con trỏ, con trỏ kép)

배열 포인터 출력 표시

5

dhkdxo12

47 câu hỏi đã được viết

0

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

7:16

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

7:03

char str[] = "Hello";

char *ptr_a = str

*ptr_ a = &str[0]

printf("%c\n", ptr_a[1]); 여기에서 왜 *ptr_a[1]이 아니라 *를 제거한 ptr_a[1]이 오는 걸까요?

python java c 정보처리기사 정보처리산업기사

Câu trả lời 1

0

communityai8509

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

ptr_a[1]은 배열 인덱스 연산 자체가 역참조를 포함하므로, 별표(*)를 추가하지 않습니다.

char str[] = "Hello";
char *ptr_a = str;

이때 ptr_a는 str[0]인 'H'의 주소를 가리킵니다.

ptr_a[1]

은 다음 표현과 완전히 같습니다.

*(ptr_a + 1)

따라서 ptr_a[1]은 두 번째 요소인 'e'를 바로 가져옵니다.

반면 아래와 같이 작성하면,

*ptr_a[1]

연산자 우선순위에 따라 다음처럼 해석됩니다.

*(ptr_a[1])

ptr_a[1]은 이미 문자값인 'e'를 반환하는데, 여기에 다시 *를 적용하면 문자값을 주소로 간주해 역참조하려 하므로 잘못된 표현입니다.

즉, 다음 두 표현은 같은 의미입니다.

ptr_a[1]
*(ptr_a + 1)

배열과 포인터 인덱싱에 대한 유사한 기존 답변도 참고해 주세요.

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

포인터 증감 또는 값 증감

0

3

1

배열 포인터 함수 관련

0

6

1

실기 이론 통합 요약본 버전

0

14

1

업캐스팅 3번 문제 예시

0

18

2

push pop 설명 되어있는 강의가 몇강인가요?

0

44

1

모의고사 파일오류

0

72

3

모의고사 다운

0

50

1

업캐스팅 원칙

0

64

2

6분46초

0

56

2

공략법

0

65

1

모의고사 파일과 이론파일 업데이트

1

70

3

이론 pdf 다운은 어디서 하나요?

0

69

2

13분 40초

0

64

2

정보처리기사 26년 실기 2회 네트워크 부분

0

75

2

기출문제 재탕

0

57

1

뻬먹은 코드

0

47

1

기출문제 재탕

0

37

0

모의고사1회 2번문제 뭔지 모르겠네요 강의올려주시면안될까요?

0

51

1

영상 다운로드는 안되나요?

0

81

1

26년2회 실기기출은 언제쯤...

0

126

2

이론 공부법 요약본 버전 업데이트 문의

0

107

2

정처기 필기 준비할때 이 이론을 다시 외워도 될까요?

0

114

2

조건 반복문 질문: for 문 ?

0

92

1

정처기 26-2회. 9번 질문드립니다!

0

118

1