인프런 커뮤니티 질문&답변
안녕하세요 포인터 수업 듣고 만들어 봤는데요 어디에서 오류가 생기는건지 잘 모르겠어요ㅠㅠ
작성
·
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] 은 존재하지 않습니다.
감사합니다. ^^





