강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

장동익님의 프로필 이미지
장동익

작성한 질문수

C 프로그래밍 - 입문부터 게임 개발까지

포인터로 배열 값 변경하기

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

작성

·

144

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] 은 존재하지 않습니다.

감사합니다. ^^

장동익님의 프로필 이미지
장동익

작성한 질문수

질문하기