본문 바로가기
IT/C Language

값, 주소에 의한 배열 전달

by Jang HyunWoong 2014. 12. 19.

※배열 값에 의한 전달 

5명의 수학성적을 입력 받은 뒤 그 평균을 출력하는 소스

 

  1. #include <iostream>
  2. using namespace std;
  3.  
  4. double average(int grade[]);
  5.  
  6. int main() {
  7. // your code goes here
  8. int math[5] = {40, 70, 90, 50, 65};
  9. double result = average(math);
  10.  
  11. cout << "평균 = " << result << endl;
  12.  
  13. return 0;
  14. }
  15.  
  16. double average(int grade[])
  17. {
  18. double sum = 0;
  19. for(int i=0; i<5; i++)
  20. {
  21. sum += grade[i];
  22. }
  23. return sum/5;
  24. }
평균 = 63

 

배열의 이름은 배열의 시작주소를 나타내는 포인터와 같으므로 배열의 이름을 전달하는 것은 배열이 시작하는 위치를 함수에 알려주는 것과 같다. 


※배열 주소에 의한 전달

  1. #include <iostream>
  2. using namespace std;
  3.  
  4. double average(int *grade);
  5.  
  6. int main() {
  7. // your code goes here
  8. int math[5] = {40, 70, 90, 50, 65};
  9. double result = average(math);
  10.  
  11. cout << "평균 = " << result << endl;
  12.  
  13. return 0;
  14. }
  15.  
  16. double average(int *grade)
  17. {
  18. double sum = 0;
  19. for(int i = 0; i<5; i++)
  20. {
  21. sum += *(grade + i);
  22. }
  23. return sum/5;
  24. }
평균 = 63

 

반응형

'IT > C Language' 카테고리의 다른 글

struct 구조형 정리  (0) 2014.12.19
string 문자열 사용  (0) 2014.12.19
다차원 배열 초기화 / 배열의 이름  (0) 2014.12.19
참조의 의한 전달2 (call by reference)  (0) 2014.12.19
함수에 자료 전달 방법  (0) 2014.12.19