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