Language/C
[따배씨] 10.7 배열을 함수에게 전달해주는 방법
migrationArc
2021. 6. 5. 23:30
따배씨 - 따라하며 배우는 C언어
10강 배열과 포인터
10.7 배열을 함수에게 전달해주는 방법
- 배열을 여러 함수에게 사용할 때 마다, 데이터를 복사 해주는 방식은 굉장히 비효율적
- 배열의 첫 주소를 알려주는 방식으로 해결
- 함수에서 배열을 입력 받을때, 내부적으로 pointer 로 받아 처리
- c/c++ 의 프로그래밍 에서는 크기가 미리 정해진 배열보다는 동적할당 메모리를 배열처럼 이용하는것이 주 사용 하는 방법
- 동적할당 메모리를 사용 할때에는 pointer 를 이용함
#include <stdio.h>
double averge(double arr[], int n);
int main(){
double arr1[5] = {10, 13, 12, 7, 8};
double arr2[5] = {1.8, -0.2, 6.3, 13.9, 20.5};
printf("Avg = %f\n", averge(arr1, sizeof(arr1)/ sizeof(double)));
// Avg = 10.000000
printf("Avg = %f\n", averge(arr2, sizeof(arr2)/ sizeof(double)));
// Avg = 8.460000
return 0;
}
double averge(double arr[], int n){
double avg = 0.0;
for (int i = 0; i < 5; i++){
avg += arr[i];
}
avg /= (double)n;
return avg;
}
double averge(double arr[], int n);
- 배열을 함수에 입력 값으로 받기 위해서는, 배열 값과 함께 배열의 크기를 받아 준다
double averge(double arr[], int n);
double averge(double* arr, int n);
double averge(double* , int n);
double averge(double [], int n);
- prototype 표기 방법
이 글의 모든 사진과 내용의 출처는 홍정모 교수님께 있음을 알려드립니다.
http://blog.naver.com/atelierjpro
실리콘 밸리의 프로그래머 : 네이버 블로그
안녕하세요! 홍정모 블로그에 오신 것을 환영합니다. 주로 프로그래밍 관련 메모 용도로 사용합니다. 강의 수강하시는 분들은 홍정모 연구소 카페로 오세요.
blog.naver.com
http://www.inflearn.com/course/following-c
홍정모의 따라하며 배우는 C언어 - 인프런 | 강의
'따배씨++'의 성원에 힘입어 새롭게 개발된 C 언어로 시작하는 프로그래밍 입문 강의입니다. '따배씨'와 함께 프로그래밍 인생을 업그레이드 해보세요., 따라하며 배우는 C언어 '따배씨++'의 성원
www.inflearn.com