-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
안녕하세요 포인터 수업 듣고 만들어 봤는데요 어디에서 오류가 생기는건지 잘 모르겠어요ㅠㅠ
19.01.23 16:41 작성 조회수 87
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
나도코딩
지식공유자2019.01.23
안녕하세요 나도코딩입니다.
의도하신 게 Array 의 마지막 값인 45 를 60 으로 바꾸기 위함인가요?
그렇다면 change 함수 내에서 ptr[3] 이 아닌, ptr[2] = 60; 으로 작성하셔야겠네요
배열은 항상 0부터 시작합니다.
크기가 3이니, Array[0] = 10, Array[1] = 25, Array[2] = 45 가 들어가 있는 것이죠.
Array[3] 은 존재하지 않습니다.
감사합니다. ^^
답변 1