학습 목표
! 본 내용은 검토 전 포스트 입니다. 부정확한 내용이 있을 수 있으니 양해바랍니다.
- 주석의 사용 목적과 방법을 이해한다.
1. 주석의 사용 목적
주석(comment)는 코드에 추가적인 설명을 붙이는 것으로 컴파일러는 주석을 생략하고 컴파일 한다. 주석은 프로그래밍 중 혹은 이후에 나와 다른 개발자가 이해하기 쉽게 코드에 대한 설명을 붙이는 것이다. 프로그래밍을 하다보면 내가 이전에 작성한 코드의 로직(Logic)에 에러가 나거나 어떠한 코드 내용인지 이해 하지 못할때 주석을 참고하여 작성 할 수 있다. 뿐만 아니라 개발한 내용을 다른 개발자에게 첨언 받거나 오픈 소스로 올려 공개할 경우 다른 개발자가 내가 작성 한 코드의 의미를 이해하기 힘들 수 있으므로 주석을 달아 이해할 수 있게 한다.
2. 주석의 사용 방법
주석을 달 경우에는 모든 줄에 대한 설명을 하기보다는 각 기능에 대한 설명을 덧붙이는게 이상적이다. 주석은 코드 한 줄 주석과 여러 줄 주석으로 나뉠 수 있다. 필요에 따라 함께 사용하면 더욱 좋다.
2.1. 한 줄 주석
한 줄 주석은 // 이후에 적고싶은 내용을 작성한다. 현재로서는 코드를 한줄 한줄 해석 할 수는 없어도 ‘해당 코드가 배열 초기화’, ‘타이머에대한 시간을 출력하는 구문’이구나를 알 수 있다.
#include <stdio.h>
#include <time.h>
#define H_SIZE 100
#define W_SIZE 100
int main(void) {
int arr[H_SIZE][W_SIZE] = {};
int sum = 0;
double start, end;
// 배열 초기화
for(int h = 0 ; H_SIZE < 100 ; h++) {
for(int w = 0 ; W_SIZE < 100 ; w++) {
arr[h][w] = sum;
}
sum++;
}
sum = 0;
start = (double)clock() / CLOCKS_PER_SEC; // 타이머 시작
for(int h = 0 ; h < H_SIZE ; h++) {
for(int w = 0 ; w < W_SIZE ; w++) {
sum += arr[h][w];
}
}
end = (double)clock() / CLOCKS_PER_SEC; // 타이머 종료
printf("time : %lf\n", end - start); // 시간 출력
return 0;
}
2.2. 여러 줄 주석
여러 줄 주석은 보통 /** 코드 **/로 사용한다. 여러 줄 주석은 보통 해당 프로그램이 어떠한 역할을 하는지에 대한 설명을 해줄 뿐 만 아니라 지금 당장 사용하지 않지만 나중에 사용할 수 있는 코드를 컴파일 시키지 않을 수 있다.
#include <stdio.h>
#include <time.h>
#define H_SIZE 100
#define W_SIZE 100
int main(void) {
int arr[H_SIZE][W_SIZE] = {};
int sum = 0;
double start, end;
/** 초기화 필요시 사용
// 배열 초기화
for(int h = 0 ; H_SIZE < 100 ; h++) {
for(int w = 0 ; W_SIZE < 100 ; w++) {
arr[h][w] = sum;
}
sum++;
}
**/
sum = 0;
start = (double)clock() / CLOCKS_PER_SEC; // 타이머 시작
for(int h = 0 ; h < H_SIZE ; h++) {
for(int w = 0 ; w < W_SIZE ; w++) {
sum += arr[h][w];
}
}
end = (double)clock() / CLOCKS_PER_SEC; // 타이머 종료
printf("time : %lf\n", end - start); // 시간 출력
return 0;
}
'초보 해커를 위한 C언어와 동작 원리 > Ch2. Programming' 카테고리의 다른 글
조건문 (0) | 2025.04.22 |
---|---|
연산자 (0) | 2025.04.22 |
출력 (0) | 2025.01.27 |
변수&상수 (0) | 2025.01.27 |
환경 구축 (0) | 2025.01.27 |