int형 배열을 순회하는 iterate함수 작성해보기
void iterate(int* arr, int arr_size)
iterate함수를 만들 때 값을 읽을 변수와 변수의 사이즈를 전달하기#include <stdio.h>
void iterate(int* arr, int arr_size) {//arr_size를 받아오는 이유는 선언된 장소에서만 사이즈를 알 수 있기 때문
for (int i = 0; i < arr_size; i++) {
//arr을 포인터 접근방법으로 값 출력하기
printf("%d ", *(arr + i));//arr에 i를 더한 것은 변수의 타입의 바이트를 더한 것과 같기 때문에 arr+i를 *로 묶어주면 주소값을 나타낼 수 있는 것이다. 다시 말해 arr의 값들을 하나씩 순차적으로 다 읽을 수 있는 것이다.
}
}
int main(void) {
int arr[] = { 1,2,3,4,5 };//사이즈가 5인 arr변수에 1, 2,3,4,5값을 넣는다.
iterate(arr, 5);//값을 읽어올 포인터 변수와 포인터 변수의 사이즈를 iterate함수에 전달한다.
return 0;
}
#include <stdio.h>
void iterate(int* arr, int arr_size) {
for (int i = 0; i < arr_size; i++) {
printf("%d ", *(arr + i));
}
}
int main(void) {
int arr[] = { 1,2,3,4,5 };
iterate(arr, 5);
return 0;
}
사이즈가 5인 arr변수에 1,2,3,4,5값을 넣는다.
값을 읽어올 포인터 변수와 포인터 변수의 사이즈를 iterate함수에 전달한다.
여기서 arr_size를 받아오는 이유는 선언된 장소에서만 사이즈를 알 수 있기 때문이다.
arr을 포인터 접근방법으로 값을 출력하기 위한 for문을 작성한다.
arr에 i를 더한 것은 변수의 타입의 바이트를 더한 것과 같다. 다시 말해 int형 포인터(배열) 변수에 1을 증가시키면 4를 증가시킨 것과 같다는 뜻이다.
arr+i를 *로 묶어주면 주소값을 나타낼 수 있는 것이다. 다시 말해 arr의 값들을 하나씩 순차적으로 다 읽을 수 있는 것이다.
1 2 3 4 5