C++
함수의 인자(argument)
조주똥
2020. 9. 7. 21:12
<C++의 ref 사용한 배열 인자>
1. 배열을 함수의 인자로 넘기려면 void f ( int (&arr)[arr_size] ) ; 형식으로 입력받으면 된다. 주의할 점은 인자 배열의 사이즈와 실제 배열의 사이즈가 같아야 한다는 것이다. 배열을 arr[4]로 선언했다면, 참조값으로 int[4]형이 전달되기 때문이다. c++의 ref는 배열 자료형을 그대로 따라야 전달해준다.
2. 포인터와 배열의 이름은 다른 자료형이다. 위에서도 말했지만 포인터는 특정 변수의 주소이고, 배열의 이름은 int[arr_size] 라는 자료형을 가진다.
3. 참조형(ref)으로 받아온 배열은 함수내에서 a[0], a[1] 과 같이 그대로 쓸 수 있으며 이 값은 주소값이 아닌 변수값이다. 따라서, s함수로 전달할때는 아래처럼 & 주소연산자를 붙여서 넘겨준다.
<C의 기본 배열 인자 문법>
1. 포인터로 배열을 입력 받는다. 이 경우에는 배열의 사이즈를 알 수가 없기 때문에, 배열의 사이즈를 전역변수로 관리하거나 따로 사이즈값도 입력을 받아야 한다.
2. int a[]와 같은 문법으로 입력 받는다. 이 경우에도 배열의 사이즈를 알 수가 없기 때문에, 배열의 사이즈를 전역변수로 관리하거나 따로 사이즈값도 입력 받아야 한다.