c언어 주요 문법 정리함 - junhwan1206/ex250310_first GitHub Wiki

C언어는 시스템 프로그래밍과 임베디드 시스템에서 많이 사용되는 프로그래밍 언어입니다. 주요 문법을 간략히 정리해 보겠습니다.

1. 주석 (Comment)

  • 한 줄 주석: // 이후의 내용은 주석 처리됨
    // 이것은 한 줄 주석입니다.
  • 여러 줄 주석: /*로 시작하고 */로 끝남
    /* 이것은
       여러 줄 주석입니다. */

2. 변수 선언

변수는 사용하기 전에 반드시 선언해야 합니다. 변수의 데이터 타입을 지정합니다.

int x = 10;    // 정수형 변수
float y = 3.14; // 실수형 변수
char z = 'A';   // 문자형 변수

3. 데이터 타입

  • int: 정수형
  • float: 실수형
  • char: 문자형
  • double: 더 정밀한 실수형
  • long, short: 정수형 크기 조정

4. 입력과 출력

  • 입력: scanf() 함수
  • 출력: printf() 함수
int a;
scanf("%d", &a);  // 사용자로부터 정수 입력 받기
printf("입력한 값은 %d입니다.", a);  // 출력

5. 제어문

  • 조건문:
    if (조건) {
        // 조건이 참일 때 실행되는 코드
    } else {
        // 조건이 거짓일 때 실행되는 코드
    }
  • switch 문:
    switch (변수) {
        case 1:
            // case 1 일 때 실행
            break;
        case 2:
            // case 2 일 때 실행
            break;
        default:
            // 모든 case가 아닌 경우 실행
    }
  • 반복문:
    • for 반복문:
      for (int i = 0; i < 10; i++) {
          printf("%d ", i);
      }
    • while 반복문:
      while (조건) {
          // 조건이 참일 때 실행
      }
    • do-while 반복문:
      do {
          // 실행되는 코드
      } while (조건);

6. 함수 (Function)

  • 함수 정의와 호출
    return_type 함수명(매개변수1, 매개변수2, ...) {
        // 함수 내부 코드
        return 반환값;
    }
    
    // 함수 호출 예
    함수명(인자1, 인자2);

7. 포인터 (Pointer)

  • 포인터 변수 선언
    int a = 10;
    int *p = &a;  // 포인터 p는 변수 a의 주소를 저장
  • 포인터를 통한 값 접근
    printf("%d", *p);  // p가 가리키는 값 출력 (a의 값)

8. 배열 (Array)

배열은 같은 타입의 데이터를 연속적으로 저장할 수 있는 자료구조입니다.

int arr[5] = {1, 2, 3, 4, 5};
printf("%d", arr[0]);  // 첫 번째 값 출력

9. 구조체 (Structure)

구조체는 서로 다른 데이터 타입을 묶어서 하나의 데이터 단위로 사용할 수 있게 해주는 자료형입니다.

struct Person {
    char name[50];
    int age;
};

struct Person person1;
person1.age = 30;
strcpy(person1.name, "John");

10. 동적 메모리 할당 (Dynamic Memory Allocation)

malloc(), calloc(), realloc(), free() 함수 사용

int *ptr = (int *)malloc(sizeof(int) * 10); // 10개의 int 배열 동적 할당
free(ptr); // 동적 메모리 해제

11. 파일 입출력

  • 파일 열기: fopen()
  • 파일 읽기/쓰기: fscanf(), fprintf(), fgetc(), fputc()
  • 파일 닫기: fclose()
FILE *file = fopen("file.txt", "w");
fprintf(file, "Hello, world!\n");
fclose(file);

12. 헤더 파일 (Header File)

  • #include 디렉티브로 외부 라이브러리나 사용자 정의 헤더 파일을 포함시킴
    #include <stdio.h>  // 표준 입출력 함수 사용
    #include "myheader.h"  // 사용자 정의 헤더 파일 사용

이 외에도 더 많은 세부 문법과 기능들이 있지만, 위의 내용들이 C언어의 핵심적인 부분입니다.

⚠️ **GitHub.com Fallback** ⚠️