1580, 9/79 회원가입  로그인  
   Cpgroot
   [펌] C 프로그램의 일반적인 구조 [첫강좌]

http://www.hackerschool.org/HS_Boards/zboard.php?id=Free_Lectures&no=1515 [복사]


"Hello, world!"를 구현하기 위해 코딩한다고 해보자. 가장 먼저 무엇부터 할 것인가?

나의 경우라면

[ // 코드:Helloworld.c

라고 주석 처리를 한 후, C 프로그래밍을 위한 구조를 먼저 적을 것이다.

[#include <stdio.h>
[   int main()
[  {
[          // 처리 구문 작성
[   }

이라고 쓴 후,

[//코드:HelloWorld.c
[  #include <stdio.h>
[  int main()
[  {
[         // 처리 구문 작성
[        printf("Hello, World!\n");
[  }

와 같이 마지막으로 처리 구문을 작성해 나갈 것이다.

필자는 먼저 구조를 코딩하고 나머지 하나하나를 기술하는데, 이와 같이 구조는 프로그램
코딩에 있어 시작과 같다.
모듈화를 통한 구조적 프로그래밍 언어인 c로 작성된 프로그램은 함수들의 집합체이다.
앞에서 보았듯이 기본 구조 역시 main() 함수로 시작하며 이후 다른 부함수가 이어진다.
그런대 이때 프로그램상에서 함수의 순서는 특별하게 상관은 없으나 위치에 따라 구조가 조금 달라진다.

C 프로그램의 일반적인 구조를 살펴보면 다음과 같다.

[/*주석(comment)부분*/  /*프로그램명/파일명/날짜 등 */

[#include <...>               //#include <내장 헤더 파일>
[#include "..."                // #include "사용자 정의 헤더 파일"
[#define ...                   // #define 정의 상수, 매크로 함수 정의


[int function(...);               // 사용자 정의 함수 선언
[int value1, value2          // 외부 변수, 즉 전역 변수 정의

[int main()
[{
[  int value3;               // 내부 변수, 즉 지역 변수 정의

[  function(...);              // 함수 호출
[  ......;                      // 처리
[}

[int function(...)           // 사용자 정의 함수 구현
[{
[    .................

[}

C 프로그램의 일반적인 구조는 헤더(header)몸체(body)로 구성된다. 헤더 부분은 주석,전처리문, 사용자 정의 함수 선언, 외부 변수 선언으로 구성된다. 반면 main()함수 는 다음과
같은 형식으로 사용되는대 함수를 다루는 것은 다음번에 자세히 살펴보기로 하자

형식 [ int main()                                 ]
        [ int main(int argc. char *argv[])    ]

1. main()함수
C는 함수들의 집합체이며 , main() 함수는 모든 함수의 기본으로서 프로그램 내에
한 개만 존재해야 한다.

2. 그룹화 괄호 {}
함수의 시작과 끝을 알리며, 프로그램 내에서도 영역을 명확히 하기 위하여 사용한다.

3. 주석문(comment)
주석은 프로그래머의 이해를 돕는 문장으로서, 행 단위 주석에는 '//'를 블록 단위주석에는 '/* */'를 사용한다. 프로그램의 설명을 위하여 추가하는 문장으로 컴파일되지 않는다

4.#include
컴파일러 내에 존재하는 <stdio.h>와 같은 내장 헤더 파일을 현재 파일에 포함시킨다.
<> 안의 파일을 헤더 파일이라 하며, 확장자는 헤더의 약자인 .h를 사용한다.
""은 사용자 정의 헤더 파일을 현재 파일에 포함시킨다

5. 명령문과 세미콜론(;)
c에서 컴퓨터에 내리는 명령 또는 지시를 명령문이라고 한다. 이러한 명령문의 문장 끝을 알리는 표시로 세미콜론(;)을 사용한다. 명령문의 끝에 반드시 ;을 사용해야 한다...


----------------------------------------------------------------------------------------------
어휴 제가 첫강좌라 많이 미흡할텐데 ..

이강좌도 제가 c언어 책이 잇는대 중요할것(?) 같아서 올려보았어요.
수정할분이나 건의할 사항잇으시면 .. 덧글로 해주시기 바랍니다 ...

그럼 모두 c언어 공부 열심히 하세요 ^_^ㅋㅋ

  Hit : 5428     Date : 2010/08/19 08:29



    
xodnr631 감사합니다.
보충내용으로 읽기좋군요
2010/08/19  
clnoe 잘ㅂㅘㅅ습니다. 2010/08/19  
whdgusdl1220 잘 봤습니다. 근데 제목에 말머리를 달아주시는 것이.. 2010/08/19  
1420   질문3[5]     sibu02003
05/10 5262
1419   대학생강좌보고싶어요     lcd7132
04/26 5263
1418   디지털포렌식2급 실기 따신분     rabbitlycat
04/30 5277
1417   스크립트알려주실분~     lcd7132
05/03 5283
1416   [자작] 1. Introduction to Python[3]     HEx0D
02/12 5284
1415   ?     rabbitlycat
06/08 5286
1414   [C언어]1-2 주석이 머야?     JJ4eye0ng
02/10 5288
1413   [자작글]리눅스에서 c언어를 컴파일해보자!     한승재
01/06 5289
1412   C언어 소켓프로그래밍 책 추천부탁![2]     JJ4eye0ng
02/10 5301
1411   스크립트 알려주실분~     lcd7132
04/29 5313
1410   [자작글]C언어로 가벼운(?) 프로gi램을 만들어보자!     한승재
12/25 5328
1409   [자작] CSS강의 3, 4[1]     Myers
07/04 5336
1408   학교에서 배우는 것에는 한계가 있어서...[2]     39ghwjd
09/12 5358
1407   [자작]HTML 듣보잡 강의[11]     Myers
02/18 5362
1406   스크립트알려주실분~2     lcd7132
05/03 5371
1405   스크립트 알려주실분~2     lcd7132
04/29 5374
1404   TCP/IP[3]     sibu02003
05/10 5376
1403   [자작글]C언어 컴파일러를 받아보자!     한승재
12/25 5377
1402   스크립트 잘만드시는분~     lcd7132
04/26 5393
1401   [자작] HTML 6,7,8     Myers
08/11 5398
[1][2][3][4][5][6][7][8] 9 [10]..[79]

Copyright 1999-2023 Zeroboard / skin by Hackerschool.org / Secure Patch by Hackerschool.org & Wowhacker.com