저도 초인인데요... 올리신 글중의 f함수의 첫번째 파라메터는 포인트의 포인트네요...
따라서, 메인함수에서 이 함수로 전달하려는 배열은 새로운 포인터를 선언하여 배열명으로 주소를 넣고, 이 포인터를
인수로 f함수를 호출하시면 될 것 같습다.
또한 2, 3번째 파라메터도 자료형을 선언 하심이....
double f( double **d, int xmin, int xmax)
{ .
.
.
}
void main( )
{ double md[100][100] ;
int mxmin =10 ;
int mxmax = 100;
double *mpd = md ;
f(mpd , mxmin, mxmax) ; -> 메인의 md[][]배열이 f함수와 매칭되어 f함수의 d[][]배열의 조작에 의해
메인함수의 md[][]을 자유로이 쓸수 있죠, 즉 call by reference 호출 방식.
(또는 mxmain과 mxmax를 선언하지 않은 경우)
f(mpd, 10, 100)
return 0 ;
}
우시관 님이 쓰신 글 :
: double f(double **d, xmin,xmax){
: ...
: }
: 이란 함수가 있을때
: main 에서 d[100][100]을 잡았다면 어떻게 넘겨줘야 하나요...
:
: 보통은
: double f(double d[][100],xmin, xmax) 로 놓고..
:
: result = f(d,0,100) ;
: 이런식을로 쓰면 잘 되는데;;;;
:
: 맨위가 같이 정의된 함수(누가 만들어 놓은거 쓸려고 하는데;;;)
: 는 인자를 어떻게 처리해야 되는 겁니까??
:
: 참고로 원래 함수정의부분 첨부합니다.
:
: int conrec(double d[100][100],
: int ilb,
: int iub,
: int jlb,
: int jub,
: double *x,
: double *y,
: int nc,
: double *z)
: // d ! matrix of data to contour
: // ilb,iub,jlb,jub ! index bounds of data matrix
: // x ! data matrix column coordinates
: // y ! data matrix row coordinates
: // nc ! number of contour levels
: // z ! contour levels in increasing order
: {
: ...............................
: }
|