728x90
반응형
#include <stdio.h>
void ReverseArray(int* ptr, int len) {
for(int i = len-1; i >= 0; i--)
{
printf("%d ", *(ptr + i));
}
}
int main(void) {
int score[] = { 100, 78, 65, 32, 89 };
int array_length =sizeof(score) /sizeof(score[0]);
ReverseArray(score, array_length);
return 0;
}
ReverseArray 함수 결과를 main으로 따로 주지 않아도 되니 void로 선언해주고,
배열 score의 포인터 변수로 *ptr로 받습니다.
저런식으로 배열을 포인터로 받으면 배열의 0번째 방 주소를 *ptr로 가리키게 됩니다.
위 코드에 따르면 *ptr 을 출력하면 100이 나오게 됩니다.
void ReverseArray(int* ptr, int len) {
printf("*ptr : %d\n", *ptr);
for(int i = len-1; i >= 0; i--)
{
printf("%d ", *(ptr + i));
}
}
그리고, 배열의 크기를 이용하여 배열의 맨 뒤 원소부터 포인터로 접근해줍니다.
그럼 간단하게 배열의 모든 원소를 역순으로 출력할 수 있게 됩니다.
반응형
'C Programming' 카테고리의 다른 글
C언어 재귀함수를 사용한 합 구하기 - 공부하는 도비 (0) | 2022.10.28 |
---|---|
C언어 버블 정렬 (오름차순 정렬) - 공부하는 도비 (0) | 2022.10.28 |
양의 정수 값을 입력 받아 입력한 정수까지의 소수를 구하는 함수 작성 - 공부하는 도비 (0) | 2022.10.28 |
C언어 포인터 기초 (필요성) - 공부하는 도비 (0) | 2022.10.13 |
C언어 포인터 기초 (선언) - 공부하는 도비 (0) | 2022.10.13 |