• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

안녕하세요 포인터 수업 듣고 만들어 봤는데요 어디에서 오류가 생기는건지 잘 모르겠어요ㅠㅠ

19.01.23 16:41 작성 조회수 85

0

include

void change(int * ptr);

int main(void) {

int Array[3] = { 10,25,45 };

change(Array);

for (int i = 0; i < 3; i++) {

printf("%dn", Array[i]);

}

return 0;

}

void change(int * ptr)

{

ptr[3] = 60;

}

답변 1

답변을 작성해보세요.

1

안녕하세요 나도코딩입니다.

의도하신 게 Array 의 마지막 값인 45 를 60 으로 바꾸기 위함인가요?

그렇다면 change 함수 내에서 ptr[3] 이 아닌, ptr[2] = 60; 으로 작성하셔야겠네요

배열은 항상 0부터 시작합니다.

크기가 3이니, Array[0] = 10, Array[1] = 25, Array[2] = 45 가 들어가 있는 것이죠.

Array[3] 은 존재하지 않습니다.

감사합니다. ^^