inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

홍정모의 따라하며 배우는 C언어

10.14 2차원 배열과 포인터

배열, 포인터 주소 관련

246

부드러운 문어

작성한 질문수 2

0

#include <stdio.h>

int main()
{
    //배열의 이름은 배열의 첫번째 인덱스 주소
    int arr1[] = { 101, 102, 103 };
    int arr2[] = { 104, 105, 106 };
    printf("%p,  %p,  %p\n", &arr1, arr1, &arr1[0]);
    
    int arr3[2][3] = { {1,2,3},{4,5,6} };
    printf("%p,  %p,  %p\n\n", &arr3, arr3, &arr3[0]);

    //포인터의 이름은 할당된 주소
    //&포인터는 포인터도 변수니까 그에 대한 주소(자료형에 관계 없이 메모리 주소 사이즈)
    int* prt = arr1;
    printf("%p,  %p,  %p\n", &prt, prt, arr1);
    
    int* parr[2] = {arr1[0],arr2[1]};
    printf("%p,  %p,  %p\n", &parr, parr, arr1);  

    return 0;
}

안녕하세요.

10.14 강의 내용 질문은 아니지만 이 강의부터 진도를 못나가고 있어요 ㅠ

'이름'에 대한 강조가 많아 혼란스러워 질문 드립니다.

1.

&배열이름($arr1)에서 배열 이름이 주소인데 앞에 &을 붙여 사용하는 경우도 있나요?

사용할 경우 그냥 arr1과 같은 주소 나오는 건가요?

2.

포인터에서 &prt와 prt 차이는

포인터도 변수니까 그에 대한 주소와

포인터에 할당된 주소 차이로 봐도 될까요?

3.

그런데 포인터[] 배열에서는 &parr, parr의 주소 같게 나오는데 이유가 궁금합니다. 이 주소는 변수 주소인가요?

늘 감사합니다.

c

답변 1

0

강민철

  1. &배열이름($arr1)에서 배열 이름이 주소인데 앞에 &을 붙여 사용하는 경우도 있나요?

    사용할 경우 그냥 arr1과 같은 주소 나오는 건가요?

>> 보통 배열의 이름이 곧 배열의 주소이기 때문에 굳이 &를 붙여 사용하지는 않는 것 같습니다.

결과는 첨부하신 코드를 실행해보면 알 수 있는데요, &arr1, arr1에 동일한 주소가 찍힘을 볼 수 있지요.

  1. 네, 그렇습니다.

  1. 1번의 답과 같습니다. 다만 parr자체가 주소이기 때문에 &parr로 사용하는 것보다 parr로 사용하는 것이 더 나은 용례입니다.

0

부드러운 문어

헷갈렸던 점이 '포인터 배열'을 포인터로만 생각해 포인터처럼 주소가 출력될줄 알았는데

배열처럼 주소가 나와서 였던거 같아요. 배열이라 생각하니 정리가 됩니다.

답변 감사합니다.

Export template 안됨

1

45

2

완전히 똑같이 따라해도 exe파일이 안만들어져서 실행이 안됩니다.

1

71

3

main 함수에서 왜 int만 선언이 되는걸까요

1

63

2

8비트 2진수 변환시 왜 1을 더해야하나요?

1

62

2

혹시 강의를 빠르게 수강하려면 어디서부터 듣는게 좋을까요?

1

59

1

프로토타입과 함수간의 인자 불일치

1

81

2

12.12 헤더 관련 질문

1

64

2

Visual Studio Community 2026 사용 문의

1

150

2

Q. 15:30, 부호가 있는 8비트 정수 질문

1

65

2

getchar(), putchar()

1

97

3

강의자리ㅛ

1

87

2

비주얼스튜디오코드로 공부해도 상관없나요?

1

119

2

소스파일안에 여러 파일

1

81

2

F5와 F7의 차이

1

82

2

c = TWO * (a+b); 에서 a와 b는?

1

64

2

; 세미콜론을 붙이는 기준에 문의

1

73

1

Step over 기능 문의

1

57

2

2.6 강의 따옴표 출력 규칙 문의

1

81

2

int main 함수 관련 오류 문의

1

72

2

13.4 words[0]

0

64

2

11.7 함수를 구현해 봤습니다.

1

66

2

11.6 직접 strcmp와 strncmp를 구현해 보았습니다.

1

68

2

11.6 my_strcat과 my_strncat을 구현해봤습니다.

1

57

2

11.6 fit_str함수를 구현해 봤습니다.

1

56

2