|
포인터에는 포인터로 답하면 됩니다.
함수의 형태가 다음과 같을 때
void padd(int starta, int finisha, int startb, int finishb, int *startd, int *finishd)
*startd, *finishd가 포인터 임으로 여기에 해당하는 변수 어드레스를 넘겨주면됩니다.
[사용 예 1]
int stData, fData;
padd(4,2,5,1, &sData, &fData);
printf("Start Point : %d, End Point: %d", sData, fData);
[사용 예 2]
int *pstData, *pfData;
padd(4,2,5,1, psData, pfData);
printf("Start Point : %d, End Point: %d", *psData, *pfData);
c에는 scanf()함수가 있습니다.
이 함수에도 이런식입니다.
//----------------------------------------
// ┏┓
// ┣┻┓┏ ┃┃ 작은 생각이 세상을 바꾼다
// ┃♡┃┣ ┣┫┏┓
// ┗━┛┗ ┃┃┣┫┏┓┏┓ - 정성훈.해미
// ━━━━━━━━━┣┛┣┛┗┫━━━━━━
//----------------------------------------
서찬 님이 쓰신 글 :
: 함수 원형을 선언할 때 아래와 같이 했습니다.
: void padd(int, int, int, int, int *, int *);
: 원형 선언이 잘못된 건가요? 혹시 아래 것이 맞는 건지요? 아니면 포인터변수를 함수에 인자로 사용하기 위한 다른 선언방법이 있는지요?
: void padd(int, int, int, int, const int,const int);
:
: 원형 선언도 모르겠지만 원형을 선언하고 난 다음에 main 함수에서 해당함수를 사용하는 방법을 모르겠습니다.^^;
:
: int형은 그냥 int형 값을 넣으면 되지만 int *startd, int *finishd 이 부분은 함수에 어떤 인자값을 넣어야 하는지 모르겠습니다;
: main() {
: padd(4,2,5,1, ? , ?);
: }
:
: void padd(int starta, int finisha, int startb, int finishb, int *startd, int *finishd)
: {
: ....
: }
:
: ? 표시된 부분에 값을 어떻게 넣어야 하죠?
:
: 답변 부탁드립니다.
|