4_전공 과목

[C/C++_두들 낙서]_함수_배열을 매개변수로

Mi:sAng 2021. 8. 23. 04:54

1.일차원 배열 매개변수

-그냥 매개변수를 배열로 선언하면된다.

ex)

void showArr(int parr[4]){

 for(int i=0; i<4;i++){

   printf("%d",parr[i]);

 }

}

int main(){

 int arr[4]  ={1,2,3,4};

 showArr(arr);

}

 

**여기서 call-by-value방식, call-by-address방식 중 무엇을 썼을 까??

 

사실은 후자의 방식이다.

 

void showArr(int parr[4])

showArr(arr);

 

이 부분들을 보자. 함수의 매개변수를 선언한 부분은

void showArr(int *parr)이라고 표현할 수 도 있다.

 

이를 역으로 추리할 수 도 있는데, showArr(arr)을 보면 arr은 앞서 선언한 배열이다.

 

그런데 배열의 이름만을 쓰는 경우는 배열의 시작주소를 나타낼때다.

 

arr=&arr[0]와 같다. 

 

이를 고려한다면 int *parr이라고 볼 수 있다.

 

*이차원 배열을 매개변수로 사용하는 경우는 포인터를 좀 더 공부하고 도전...