반응형

프로그램을 개발할 때에 업무 로직에 영향을 주지 않고 메모를 하거나, 특정 부분의 기능을 더 이상 사용하지 않거나 임시로 기능을 막고 싶은 경우가 있을 것입니다. 이 때 사용할 수 있는 것이 주석문입니다. 이렇게 주석문을 사용하면 나중에 프로그램 source를 유지보수할 때에 업무 파악을 하는 데 도움을 주거나, 기존에 만들었으나 사용하지 않던 기능을 다시 살릴 때에이 유용하게 사용될 것입니다. 이를 위하여 제공되는 것이 바로 주석문(Comment)입니다. 이 주석문은 컴파일의 preprocess 단계에서 제거되어 프로그램 코딩에는 영향을 주지 않는 부분입니다.

 

주석문은 두가지 종류가 있습니다.

 

1. 라인 주석문 (//)

라인 주석문은 slash 두 개(//)를 주석의 시작으로 하여 그 라인의 끝까지를 주석으로 처리하는 주석문입니다.

 

예). 라인의 처음부터 주석

// 이름
char name[50];

위의 예처럼 라인의 시작에 있으면 그 라인 전체가 주석 처리됩니다.

 

예). 중간부터 주석

char name[50];  // 이름

처럼 라인의 중간에 있으면 //부터 그 라인의 끝까지만 주석 처리가 됩니다.

 

예). 주석문이 아닌 경우

printf("//이름");

처럼 문자열 literal 상수 속에 포함된 경우는 주석문이 아니고 상수 데이터입니다. 

 


 

2. block 단위 주석 (/* ~ */)

같은 라인을 벗어난 넓은 범위에 주석 처리를 하고 싶은 경우에는 /* ~ */ 주석을 사용합니다.

/*를 주석의 시작으로 하고 */를 주석의 끝으로 인식합니다.

 

예). 정상 사용 예제

/* 이 부분은 xxx 요건으로 인하여 사용하지 않습니다 
    printf("이름");
*/

위와 같이 /*와 */ 사이의 내용은 주석으로 처리되어 컴파일 시에 무시됩니다.

 

예). 잘못 사용한 예제

/* 이 부분은 xxx 요건으로 인하여 사용하지 않습니다 

/*
    printf("이름");
*/

*/

위의 경우는 주석을 중첩으로 사용하면 오류가 발생합니다. 끝의  닫는 주석(*/)하나가 짝이 없어서 오류가 발생합니다.

 

 

예). 주석문의 사용 예제

/*-------------------------------------------
* 프로그램 : 데이터를 전처리하는 업무
* 작성자   : 홍길동
* 작성일   : 2019.10.11
*-------------------------------------------*/

#include <stdio.h>
......

/*-------------  struct 정의   -------------*/

// 학생의 정보를 관리하는 자료 구조
typedef struct {
    char name[50];  // 학생의 이름
    char birth[9];  // 학생의 생년월일
    ......
} student_t;

......

/*------------- 전역 변수 정의 -------------*/
long total_count;  // 전체 처리 건수
long cur_count;    // 현재까지 처리한 건수
.......


/*--------------------------------------------
* 기능    : 한 건의 학생 데이터를 읽어들임
* 파라미터:
*    student : 학생의 데이터를 읽어서 저장됨
* RETURN :
*    정상이면 0, 오류이면 -1을 return함
*--------------------------------------------*/
int read_student(student_t *student)
{
    char name[50];  // 이름
    char birth[9];  // 생년월일
    .......
    
    // db에서 데이터를 읽음
    if(fetch(...) == 0) {
        return -1;
    }
    
    /* 요구사항이 A->B로 바뀌면서 이 부분은 사용하지 않습니다.
       2019.10.21 by 홍길동
    ......
    */
    
    return 0;
}

......

주석문의 작성은 상당히 귀찮은 일입니다. 그러나 약간의 정성으로 향후에 빠른 로직의 이해와 변경 이력을 알 수 있도록 기록하는 것이 좋습니다. 또한 기왕 작성하는 주석문에 대해서는 약간의 Pattern을 정해서 보기 편하도록 예쁘게 작성하는 것이 좋습니다.

 

 

 

C Programming Language 문법

1. C 프로그래밍 언어는? 2. C언어 개발 환경 (실습 환경) 3. C언어의 컴파일 과정 4. C 소스 파일 구성 5. 주석문(Comment) 6. 식별자 명명 규칙 7. C 프로그래밍의 시작 - 함수 8. 변수와 상수 (정수형) 9. 변..

www.it-note.kr

 

반응형

'C언어 > 문법' 카테고리의 다른 글

7. C 프로그래밍의 시작 - 함수  (2) 2019.10.22
6. 식별자 명명 규칙  (2) 2019.10.22
4. C 소스 파일 구성  (0) 2019.10.20
3. C언어의 컴파일 과정  (0) 2019.10.20
2. C언어 개발 환경 (실습 환경)  (0) 2019.10.13
블로그 이미지

자연&사람

행복한 개발자 programmer since 1995.

,