[C] C언어 구조 이해
C 언어의 구조는 기본적으로 아래와 같은 요소들로 구성됩니다:
1. 헤더 파일 포함
C 언어 프로그램은 보통 표준 라이브러리 함수를 사용하기 위해 헤더 파일을 포함합니다. #include 지시어를 통해 다른 파일을 프로그램에 포함할 수 있습니다.
#include <stdio.h> // 표준 입출력 함수 포함
2. 전역 변수 및 상수 선언
전역 변수는 프로그램 전체에서 사용할 수 있는 변수입니다. 전역 변수는 함수 외부에 선언됩니다.
int global_variable = 10; // 전역 변수
3. 함수 선언 및 정의
모든 C 프로그램은 main() 함수에서 시작합니다. 다른 함수들은 main() 함수 내에서 호출되거나 독립적으로 정의됩니다.
void someFunction() {
// 함수 정의
}
int main() {
someFunction(); // 함수 호출
return 0;
}
4. 데이터 타입
C 언어는 다양한 데이터 타입을 지원합니다.
• 기본 데이터 타입: int, float, double, char, void 등이 있습니다.
• 사용자 정의 데이터 타입: struct, union, enum 등이 있습니다.
int num = 10;
float fnum = 5.5;
char letter = 'A';
5. 변수 및 상수 선언
변수를 선언하고 초기화할 수 있습니다.
int x = 5; // 변수 선언 및 초기화
const int y = 10; // 상수 선언 (변경 불가)
6. 제어문 (Control Statements)
C 언어는 조건문, 반복문 등 제어 구조를 제공합니다.
• 조건문: if, if-else, switch
if (x > 5) {
printf("x는 5보다 큽니다.\n");
} else {
printf("x는 5보다 작거나 같습니다.\n");
}
• 반복문: for, while, do-while
for (int i = 0; i < 10; i++) {
printf("%d\n", i);
}
7. 함수 호출 및 반환
함수는 값을 반환할 수 있으며, 인자를 전달받을 수 있습니다.
int add(int a, int b) {
return a + b;
}
int main() {
int result = add(3, 4);
printf("%d", result); // 7 출력
return 0;
}
8. 포인터
C 언어는 포인터를 지원하여 메모리 주소를 가리키거나 참조할 수 있습니다.
int num = 10;
int *ptr = # // num의 주소를 ptr에 저장
printf("%d", *ptr); // 포인터가 가리키는 값 출력 (10)
9. 구조체 (struct)
C 언어에서는 여러 변수를 하나의 데이터 구조로 묶을 수 있는 구조체를 지원합니다.
struct Person {
char name[50];
int age;
};
struct Person person1;
person1.age = 30;
10. 입출력
C 언어는 표준 입출력 함수를 사용하여 콘솔 입출력을 처리합니다.
printf("Hello, World!\n"); // 출력
scanf("%d", &x); // 입력
C 언어 구조의 예시:
#include <stdio.h> // 표준 입출력 라이브러리 포함
int add(int a, int b) {
return a + b;
}
int main() {
int num1 = 5;
int num2 = 10;
int sum = add(num1, num2);
printf("Sum: %d\n", sum);
return 0;
}
이 프로그램은 add라는 함수를 정의하고, 두 개의 정수를 더한 값을 반환합니다. main 함수는 프로그램의 진입점이며, printf를 통해 결과를 출력합니다.
요약
C 언어는 함수, 데이터 타입, 제어문, 포인터, 구조체 등의 요소로 구성된 절차적 프로그래밍 언어입니다. 프로그램은 main() 함수에서 시작되며, 필요한 기능들을 함수와 구조체 등을 통해 구현합니다.