2005.09.16 21:51

c언어와 함수

조회 수 349 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄


***** A형,B형의 문제가 다를뿐 그 맥은 같다고보여집니다. *****

-일반프로그램이라함은 c에서 다루는 문법을 마스터하면 풀수 있는 문제들 즉,
구구단을 출력하는 문제나 주소록같은 프로그램을 만드는것정도라고 보시면 될듯합니다.

-함수설계기초라함은 앞서 말했던 구구단을 예로 들어볼께요 설계기초부분이니까 간략하게 말하자면
구구단은 1단부터 9단이 있습니다.(요즘초등학생들은 16단까지 배운다고 합니다) 헌데 내가 필요한 단수는 7단만 필요합니다. 여기서 함수라는것을 도입하게되면 코딩을 최소화하면서 원하는 결과를 도출해 낼수 있습니다.

구구단의 기본원친은 1부터9까지의 수에 대입된1~9를 곱하는것..즉 중복되는 값이 항상 있습니다.
1단은 1*1,1*2...1이라는 숫자에 1부터9를 각각 곱한값입니다. 2단도 마찬가지로 2라는 숫자에 1부터9를 곱합니다. 즉, 1부터9라는 값을 루프로 돌리고 함수내에 인수를 전달하는 방식을 채택하면 됩니다.

코딩으로 보여드리자면
void main()
{
       for(i=1; i<10; i++){       //주석:1부터9까지 반복할것이다 "{"는 이안에 있는것만 행해라
              printf("%d * %d",1,i);       //주석:%d는 10진수를 의미, 1단을 출력하는 소스입니다.
       }
       for(i=1; i<10; i++){       //주석:1부터9까지 반복할것이다 "{"는 이안에 있는것만 행해라
              printf("%d * %d",2,i);       //주석:%d는 10진수를 의미, 2단을 출력하는 소스입니다.
       }
       for(i=1; i<10; i++){       //주석:1부터9까지 반복할것이다 "{"는 이안에 있는것만 행해라
              printf("%d * %d",3,i);       //주석:%d는 10진수를 의미, 3단을 출력하는 소스입니다.
       for(i=1; i<10; i++){       //주석:1부터9까지 반복할것이다 "{"는 이안에 있는것만 행해라
              printf("%d * %d",4,i);       //주석:%d는 10진수를 의미, 4단을 출력하는 소스입니다.
       .
       .
       .
       }
}
위와 같이 1단부터 9단까지 출력하려면 코딩수가 엄청나게 늘어날것입니다. 위 소스를 함수로 구현하면
아래와 같습니다.
void main()
{
       for(i=2; i<10; i++){            //주석:2부터9까지 반복할것이다 "{"는 이안에 있는것만 행해라
              몇단입력할래(i);       //주석:i는 2부터 9단까지 차례대로 구구단을 출력할것입니다.
       }  
}

void 몇단입력할래(int a)                 //주석:이게 바로 함수
{
       for(i=1; i<10; i++){                  //주석:1부터9까지 반복할것이다 "{"는 이안에 있는것만 행해라
              printf("%d * %d",1,i);       //주석:%d는 10진수를 의미, 1단을 출력하는 소스입니다.
       }
}
아주 간단명료하게 소스가 완성되었습니다.(위에 제시한 소스는 함수를 설명하고자 함입니다. 구구단을 출력하는 알고리즘은 다양하며 간소화된 라이브러리가 웹상에 무수히 많습니다.)

즉, 함수라함은 중복되는 일련의 작업들을 묶어서 코딩및 소스의 간소화 및 버그발생시 버그를 쉽게
잡을수 있도록 편의를 도모하기 위한것입니다. 일반적으로 함수를 설계하는 프로그램은 방대한 프로그램(게임,운영체제등등)을 개발하고자 할때 사용합니다.

여기서 한가지 더 추가를 하자면 우리는 지구(메인함수)라는 별에 각각 집(함수)을 짖고 살아가고 있습니다. 만약 이런 주소와 같은 방법을 택하지 않았다면 지구에 사는 인간들은 각각 개개인의 안전을보장 받지 못할것이며, 한사람을 찾기 위한 수단이 없어지게 됩니다.

이를 편리하게 관리하고 통제하기 위한 수단으로 "지구-나라-가족-개인"이라는 일정한 루트를 만들어 놓았습니다. 게임/프로그램개발도 마찬가지 입니다.

게임을 만들기 위해선 시나리오-프로그래머-디자이너-마케팅등등의 각자의 역할을 나누워 놓은 이유도
위와 같은 맥락입니다. 이들을 통솔하는 자는 사장이 될것이며, c에서는 main()함수가 됩니다. 그리고 시나리오,프로그래머,디자이너,마케팅등등을 서브함수라고 볼수 있습니다.

실제로 c언어에선 사장은 불변이나 서브함수의 명칭은 변경이 가능합니다. 코딩을 하게되면 자연스레 접할수 있으리라 보여집니다.



***** C형: 응용 프로그래밍 *****

이것은 위에 언급되었던 A,B를 설게하고 직접 코딩을 하고 컴파일러를 행하면 얻을수 있는 실행파을을 의미 한다고 보여집니다. 더 이상 설명이 불가할것이라고 판단됩니다.
?

  1. 쯔꾸르 mv 게임을 apk 파일로 변환했는데...

  2. 쯔꾸르 젖소이야기 결혼 방법좀 알려주세요...

  3. No Image 29Nov
    by game메이커xp
    2021/11/29 by game메이커xp
    Views 1257 

    apk포팅 승인 어케 하나요?

  4. No Image 15Jul
    by Neuromancer
    2021/07/15 by Neuromancer
    Views 1541 

    Yanfly님의 Action Sequence Pack 질문드립니다

  5. 싸게 MV 를 먼저? 아니면 돈을 더 들어서라도 MZ?

  6. RMMV - 스탯창과 대화창 변견 관련 질문입니다. (초보입니다 도움좀 주세요 ㅜㅜ)

  7. 아오오니를 하는 사람인데요 질문 두가지가 있어요

  8. No Image 07Dec
    by land_tnt
    2020/12/07 by land_tnt
    Views 1455 

    재밌는게임

  9. No Image 10Nov
    by 세종기항19
    2020/11/10 by 세종기항19
    Views 1684 

    c언어 질문

  10. 코딩 질문

  11. No Image 07Nov
    by 드래곤규
    2020/11/07 by 드래곤규
    Views 1402 

    혹시나 물어보는데

  12. No Image 09Sep
    by 이부닝
    2020/09/09 by 이부닝
    Views 1224 

    오픈보 게임 더블드래곤 리로디드 얼티네이트에 대해 궁금

  13. No Image 02Sep
    by 스트레이보우
    2020/09/02 by 스트레이보우
    Views 1006 

    상태이상 확률 결정

  14. No Image 23May
    by WOONAALAA
    2020/05/23 by WOONAALAA
    Views 963 

    다음 인디사이드 제작대회는 언제쯤 열릴까요?

  15. xp로 제작된 어플 실행자체가 안된다는 분이 있습니다.(제생각엔 apk로 변환하는 과정에서 버전자체가 낮은 것 같습니다)

  16. apk 포팅하는데 게임 이름이 필요합니다 뜨는데

  17. No Image 22Mar
    by 랖랖
    2020/03/22 by 랖랖
    Views 1780 

    쯔꾸르VX Ace렉먹음 도와주세요...

  18. 안녕하세요

  19. 포팅 중 '게임 이름이 필요합니다' 오류

  20. RPGMV 거리 추적

Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 442 Next
/ 442


[개인정보취급방침] | [이용약관] | [제휴문의] | [후원창구] | [인디사이드연혁]

Copyright © 1999 - 2016 INdiSide.com/(주)씨엘쓰리디 All Rights Reserved.
인디사이드 운영자 : 천무(이지선) | kernys(김원배) | 사신지(김병국)