인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

TaeChoon Park님의 프로필 이미지
TaeChoon Park

작성한 질문수

홍정모의 따라하며 배우는 C언어

10.8 두 개의 포인터로 배열을 함수에게 전달해주는 방법

질문

작성

·

155

1

앞강의에서 double func(double * a , int n) =double func(double * , int n) =double func(double [] , int n) =  double func(double a[] , int n) 이라고 배웠습니다.

그렇담 , 함수의 매개변수자리에 오는 double a[] 같은 표현은 변수 a는 배열이랑 상관없이 그냥 포인터(주소)를 매개변수로 받는다는 뜻인가요? ( 포인터로 함수에 배열을 전달해주는것 자체가 특별한게 아닌 그냥 포인터로 배열의 원소의 주소를 전달해주고 , 포인터의 산술연산을 통해 각 원소에 접근하는것이므로 )

그렇다면 이번강의의 예제에서 함수의 바디를 아래와같이 선언해도 되는건가요?  

double average(double start[] , double end[])

{

동일

감사합니다. 

답변 1

1

홍정모님의 프로필 이미지
홍정모
지식공유자

이것도 질문의 제목을 수정해주셔야겠네요.

이렇게 선언하셔도 되는데, 배열의 원소의 개수를 알 수가 없다는 점이 문제가 될 수 있겠네요.

TaeChoon Park님의 프로필 이미지
TaeChoon Park

작성한 질문수

질문하기