♥ 모디안에 오신걸 환영합니다. ♥
{M:0/G:32}
개발자 코너


  ( 2004-11-04 17:48:29 , Hit : 8212
 http://whachang.cafe24.com/
 [질문][C++]사용자 정의 함수에 대한 질문입니다.

'C++기초 플러스 4판'을 공부하고 있는데요, 사용자정의함수가 이해가 안되서 그냥 넘어가고 말았습니다.

2장에 나오는 내용인데,(p.56)

#include <iostream>
using namespace std;
void gildong(int);
int main()
{
        gildong(5);
        cout << "정수를 입력하고 Enter 키를 누르십시오 : ";
        int count;
        cin >> count;
        gildong(count);
        return 0;
}

void gildong(int n)
{
        cout << "길동이는 하루에 한자를 " << n << "자씩 공부한다.\n";
}


이 명령문의 이해가 안되네요...
답은 이렇게 나오는데,


길동이는 하루에 한자를 5자씩 공부한다.
정수를 입력하고 Enter 키를 누르십시오 : 50
길동이는 하루에 한자를 50자씩 공부한다.


먼저 입력된 gildong(5)때문에 5가 나오고 다음에는 제가 입력한 50이 나오는데,
이 작동순서를 정확하게 알고싶습니다.
대충 머리엔 들어오는데, 헷갈리네요...



(2004-11-04 17:57:42)  
밑에 'void gildong(int n)' 에서 전달인자로 n을 int로 선언한거잖아요.
그리고 밑줄에서 그 n을 불러오고요.
위에서 count를 변수로 사용했는데, 갑자기 n을 이용하고 또 그게 사용되네요.
이것도 설명좀...
리안 (2004-11-04 19:17:34)  
c++ 문법은 오랜만에 보네요^^; 아하하;
사용자 정의 함수는 이렇게 생각하시면 될 듯. (전 그렇게 이해를)

리턴타입 함수이름(함수에 넣을 변수)
{
내용~
}

그러면 이 사용자 정의 함수에 변수를 넣어주면...
위 예문에서는 gildong(5) 가 되겠죠. 5 라는 변수가 gildong 함수에
전해집니다. 그러면 내용에서 5 라는 변수를 활용하죠.
5라는 변수가 n 으로 정의되었군요. 그러면 cout 명령에 의해 n 이 출력되고, 리턴타입이 void 이므로 아무것도 반환하지 않고 종료하게 됩니다.

그러니까 처음에 gildong(5) 라고 하면 5가 사용자 정의함수에 전달이 되고, 두번째에 count 라는 변수에 50 이라는 숫자를 입력받아서
gildong(count) 했으므로 gildong이라는 함수에 50 이라는 수를 전달하게 되는거죠^^; 그러면 이번엔 n이 50이 되니까 50이 출력됩니다.

이해가 되시려는지;;;
리안 (2004-11-04 19:20:04)  
아 그리고 사용자정의함수외에... 모든 함수가 위에 쓴 모양처럼 돌아갑니다. 특정 변수를 넣어주면 (void가 되어서 없을수도 있음. main 함수처럼) 이런저런 연산을 하고 나서 리턴을 해주는겁니다^^;

나중에 C 기초부터 포인터, 스트럭처, 파일입출력 정도까지는 강좌를 써볼께요. 그 이상 (API나 기타...)은 제가 잘 몰라서^^; 시간이 되면 자료처리나 알고리즘, 그 이상도 써볼께요. CE프로그래밍도 틈틈이 ㅡ_ㅡ; (틈틈히?;;?)
(2004-11-05 13:30:49)  
아.. 알겠습니다. 사용자정의함수는 밑에 따로 적어놓은 걸 갖고오는거네요.
전 위에서 순서대로 아래로만 나가는줄알고... 되게 헷갈렸거든요.. 고맙습니다. ^^
하루는 (2004-11-07 12:30:16)  
화창님 드디어 C++에 입문하시는군요!
저는 게을러서..;;; 사실 QB와 TP는 자신있지만 -_-;; TC++에서 물먹어서..
한때 올림피아드 때문에 공부해서 집에 C++ 두권, VC6 바이블, VB5 활용 VC6입문, 터보 파스칼, 알고리즘 두권 굴러다니는군요 -ㅁ-;; 언제 보련지..

아마도...OOP때문에 좌절하실겁니다. 저도 몇달 OTL모드였다는..
(2004-11-15 21:56:35)  
흐흐흐 cout << "문자열" << "문자열";; 이것도 구조를 알면 머리가 멍해질걸요? ^^




38   아 잘안되네요  김승원 2008/11/19 5818
37   hpc2000 sdk 어디서 구해야 할까요? [3]  june2 2007/06/19 6630
36   개발자님들 건의사항입니다 [2]  정의성 2007/01/05 7056
35   모디아용 프로그래밍 [2]  전종현 2007/01/02 7799
34   evc 4.0에서 hpc2000 SDK로 모디아... [1]  고구마 2006/06/16 7861
33   기능상의 질문 [4]  yys1211 2005/06/09 8027
32   개발 관련 질문있어요 ^^ [3]  지영승 2005/05/09 7908
31   프로그램 테스트(디버그 포함)시.. 속도향상... [2]   2005/03/02 8409
30   공개키 알고리즘과.. 대치방식알고리즘 [6]   2005/02/08 8356
29   타자연습 프로그램 개발 착수 [12]  Bluecube 2005/02/03 9179
28   인사드립니다 ^^ ㅎㅎ [1]  Bluecube 2005/02/03 7766
27   ms사이트에서 아무리 찾아도 hpc SDK는 없네... [4]  myBrainisOpen 2005/01/22 8259
26   [C++ 질문]파일끝을 잘라버리는 함수는 없... [4]   2004/12/17 8154
25   [C++ 질문]클레스 상속시에 protected 와... [5]   2004/11/15 9007
  [질문][C++]사용자 정의 함수에 대한 질문... [6]   2004/11/04 8212
23   이 게시판이 프로그래밍 스터디그룹으로도 쓰... [2]   2004/11/04 8398
22   HPC용 UDP 메시지 전송 컴포넌트 입니다....  김이랑 2004/10/29 8328
21   WinCE 프로그래밍 입문자를 위한 글  김이랑 2004/10/19 18494
20   첫 모디아 프로그램 시험성공 ... [3]  김이랑 2004/10/18 9882
19   모디아에서 NetBSD 설치에 대한 고찰 ... [10]  김이랑 2004/10/13 9320

1 [2]
 

Copyright 1999-2018 Zeroboard / skin by ROBIN Modify by Netzzi.com