반응형
C 언어는 전 세계적으로 널리 사용되는 프로그래밍 언어로, 효율적이고 강력한 소프트웨어 개발에 적합합니다. 이번 글에서는 C 프로그램의 기본 구조와 핵심 요소인 main
함수에 대해 자세히 알아보겠습니다.
C 프로그램의 기본 구조
C 언어 프로그램은 다음과 같은 기본 구조를 따릅니다:
#include <header파일>
// 전역 변수 선언
// 함수 프로토타입 선언
int main() {
// 프로그램 실행 코드
return 0;
}
// 기타 함수 정의
주요 구성 요소
헤더 파일 포함
#include
지시어를 사용하여 표준 라이브러리 또는 사용자 정의 헤더 파일을 포함합니다.- 예:
#include <stdio.h>
는 표준 입출력 라이브러리를 포함합니다.
전역 변수 선언
- 프로그램 전체에서 사용 가능한 변수를 선언합니다. 이는 프로그램의 모든 함수에서 접근할 수 있습니다.
함수 프로토타입 선언
- 함수의 정의 전에 함수의 원형을 선언하여 컴파일러에 함수의 존재를 알립니다.
main
함수- 프로그램의 진입점(entry point)으로, 모든 C 프로그램은 반드시
main
함수를 포함해야 합니다. - 프로그램 실행의 시작과 끝을 담당합니다.
- 프로그램의 진입점(entry point)으로, 모든 C 프로그램은 반드시
기타 함수 정의
main
함수 이외의 함수들은 프로그램의 주요 로직을 구현하는 데 사용됩니다.
main
함수
main
함수는 프로그램 실행이 시작되는 진입점입니다. 모든 C 프로그램은 main
함수를 통해 실행됩니다. 이 함수는 반드시 포함되어야 하며, 다음과 같은 기본 형태를 가집니다:
int main() {
// 실행 코드
return 0;
}
main
함수의 구성 요소
반환형 (
int
)main
함수는 정수 값을 반환합니다. 반환값은 운영 체제에 프로그램의 종료 상태를 전달합니다.- 일반적으로
return 0;
은 성공을,return 1;
은 실패를 의미합니다.
중괄호 (
{}
)- 중괄호 안에 프로그램 실행 코드를 작성합니다.
return
문main
함수의 끝에서 반환값을 지정합니다.
main
함수의 매개변수
main
함수는 매개변수를 가질 수 있습니다. 이는 명령줄에서 전달된 데이터를 받을 때 유용합니다:
int main(int argc, char *argv[]) {
// 실행 코드
return 0;
}
argc
: 명령줄 인수의 개수argv
: 명령줄 인수의 문자열 배열
예제: 명령줄 인수 출력
#include <stdio.h>
int main(int argc, char *argv[]) {
printf("명령줄 인수의 개수: %d\n", argc);
for (int i = 0; i < argc; i++) {
printf("argv[%d]: %s\n", i, argv[i]);
}
return 0;
}
간단한 예제: "Hello, World!"
C 프로그램의 기본 구조를 이해하기 위해 가장 간단한 프로그램인 "Hello, World!"를 작성해 보겠습니다.
#include <stdio.h>
int main() {
printf("Hello, World!\n");
return 0;
}
코드 설명
#include <stdio.h>
- 표준 입출력 라이브러리를 포함하여
printf
함수를 사용 가능하게 합니다.
- 표준 입출력 라이브러리를 포함하여
main
함수- 프로그램 실행의 시작점입니다.
printf
함수- 화면에 "Hello, World!"를 출력합니다.
return 0;
- 프로그램이 성공적으로 종료되었음을 운영 체제에 알립니다.
실행 결과
Hello, World!
실습 문제
문제 1: 간단한 계산기
사용자에게 두 개의 정수를 입력받아 합을 출력하는 프로그램을 작성하세요.
#include <stdio.h>
int main() {
int num1, num2;
printf("첫 번째 정수를 입력하세요: ");
scanf("%d", &num1);
printf("두 번째 정수를 입력하세요: ");
scanf("%d", &num2);
printf("두 수의 합: %d\n", num1 + num2);
return 0;
}
문제 2: 명령줄 인수를 활용한 프로그램
명령줄에서 입력받은 문자열을 거꾸로 출력하는 프로그램을 작성하세요.
#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[]) {
if (argc < 2) {
printf("사용법: %s <문자열>\n", argv[0]);
return 1;
}
char *str = argv[1];
int len = strlen(str);
printf("입력 문자열: %s\n", str);
printf("거꾸로 출력: ");
for (int i = len - 1; i >= 0; i--) {
putchar(str[i]);
}
printf("\n");
return 0;
}
마무리
이번 글에서는 C 프로그램의 기본 구조와 main
함수의 역할을 살펴보았습니다. C 언어의 프로그램은 단순한 구조를 가지지만, 이를 기반으로 복잡한 소프트웨어를 개발할 수 있습니다. 실습 문제를 통해 직접 코드를 작성하며 개념을 익혀 보세요.
반응형
'c 언어' 카테고리의 다른 글
C 언어 조건문과 반복문 (0) | 2024.12.13 |
---|---|
C 언어의 연산자 (0) | 2024.12.12 |
C 프로그램 입/출력 및 파일 입출력 (0) | 2024.12.12 |
C 언어 데이터 타입과 변수 (0) | 2024.12.12 |
C 언어 소개 (0) | 2024.12.12 |