• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

포인터의 배열

23.02.19 01:01 작성 조회수 296

0

int arr0[3] = {1, 2, 3};

int arr1[3] = {4,5,6};

int* parr[2] = {arr0,arr1}와 같이 포인터의 배열을 선언해준다는 가정 하에 이때 parr자체는 arr0[0]을 가리키는 것이 맞나요??

답변 1

답변을 작성해보세요.

1

강민철님의 프로필

강민철

2023.02.19

그렇지 않습니다.

아래 예제 코드로 확인해보세요..!

parr[0]은 arr0 배열의 첫 번째 요소를 가리키는 포인터이고,

parr[1]은 arr1 배열의 첫 번째 요소를 가리키는 포인터입니다.

말씀해주신 arr0[0]은 arr0에 저장된 값이구요. (말씀하신 예제에서는 1)

#include <stdio.h>

int main() {
	int arr0[3] = {1, 2, 3};
	int arr1[3] = {4,5,6};
	int* parr[2] = {arr0,arr1};
	printf("%p\n", parr);
	printf("%d\n", arr0[0]);
    return 0;
}