15:00 부근에서 &parr[0]와 parr[0]가 왜 다른지 이해가 안됩니다.
351
작성한 질문수 8
arr = arr[0] = &arr[0] = &arr[0][0] = parr[0]인건 알겠습니다. 그런데 똑같은 배열형태인데 &parr[0]와 parr[0]가 왜 다른지는 이해를 못하겠습니다.
15:30에서 강의에서는 이에 대한 자세한 이유를 알려주기 힘드니 10.1강의와 10.12강의를 보고 오라고 하셨지만 여기를 봐도 이곳에선 배열을 가지고 이중포인터를 소개하는게 아니고 int형 변수를 가지고만 설명을 해서 아무리 봐도 10.13의 15:00 부분이 잘 이해가 안됩니다.
답변 2
2
영상을 다시 봤더니 꼭 확인해보고 넘어가시라고 강조를 해놓은 부분이네요.
int *parr[2];
에서 parr은 int 자료형에 대한 주소를 담을 수 있는 2개짜리 배열 parr[2] 입니다. 글로 적으면 복잡해 보이지만 결국 parr은 주소 두개 담을 수 있는 배열(=그 메모리 공간의 첫 주소)입니다. 그러니까 저장되는 값이 int가 아니라 주소입니다.
parr[0]은 거기에 저장되어 있는 주소값이고 &parr[0]은 주소값을 저장하는 메모리의 주소입니다.
주소값을 저장하는 변수의 주소라는 개념은 처음에는 당연히 헷갈리실 수 있습니다. 사람마다 이해하는 방법이 다르기 때문에 제 강의 앞부분을 보셨음에도 불구하고 아직 이해가 안가신다면 이중포인터 관련 자료들을 더 찾아서 보시는 것을 권장합니다.
1
안녕하세요 :)
arr와 arr[0]는 다릅니다.
arr는 arr[0]의 주소를 가리키고 있는 것이지요.
달리 말해 arr는 arr[0]와 같은게 아니라 arr[0]의 주소와 같습니다.
아래 코드를 직접 돌려보며 확인해보세요.
#include <stdio.h>
int main() {
int arr[2] = { 1, 2 };
printf("%p\n", arr[0]);
printf("%p\n", arr);
return 0;
}
마찬가지로
parr[0]는 parr가 저장하고 있는 첫 번째 원소 자체(parr가 저장하고 있는 첫 번째 포인터)를 의미하고, &parr[0]는 그 주소를 의미합니다.
혹시 이해가 안가신다면 댓글 달아주세요 :)
감사합니다.
0
printf("%p\n", &parr[0]); // 다른 주소값을 출력
printf("%p\n", parr[0]);
printf("%p\n", arr);
printf("%p\n", &arr[0]);
printf("%p\n", arr[0]);
printf("%p\n", &arr[0][0]);
강의에 나와있는 코드입니다 저기서 첫번째줄을 제외하고는 전부 같은 주소값을 출력하는 것은 이해했습니다. 그런데 &parr[0]와 parr[0]의 주소를 출력하는 값이 서로 다르다는 것이 이해가 안갑니다.
똑같이 배열 형태인 &arr[0]의 주소값과 arr[0]의 주소값은 같은데 말이죠.
Export template 안됨
1
45
2
완전히 똑같이 따라해도 exe파일이 안만들어져서 실행이 안됩니다.
1
70
3
main 함수에서 왜 int만 선언이 되는걸까요
1
63
2
8비트 2진수 변환시 왜 1을 더해야하나요?
1
62
2
혹시 강의를 빠르게 수강하려면 어디서부터 듣는게 좋을까요?
1
58
1
프로토타입과 함수간의 인자 불일치
1
81
2
12.12 헤더 관련 질문
1
63
2
Visual Studio Community 2026 사용 문의
1
149
2
Q. 15:30, 부호가 있는 8비트 정수 질문
1
65
2
getchar(), putchar()
1
96
3
강의자리ㅛ
1
85
2
비주얼스튜디오코드로 공부해도 상관없나요?
1
119
2
소스파일안에 여러 파일
1
80
2
F5와 F7의 차이
1
82
2
c = TWO * (a+b); 에서 a와 b는?
1
63
2
; 세미콜론을 붙이는 기준에 문의
1
73
1
Step over 기능 문의
1
57
2
2.6 강의 따옴표 출력 규칙 문의
1
81
2
int main 함수 관련 오류 문의
1
71
2
13.4 words[0]
0
64
2
11.7 함수를 구현해 봤습니다.
1
66
2
11.6 직접 strcmp와 strncmp를 구현해 보았습니다.
1
67
2
11.6 my_strcat과 my_strncat을 구현해봤습니다.
1
57
2
11.6 fit_str함수를 구현해 봤습니다.
1
56
2





