Quick Reference

C

시스템 프로그래밍과 자료구조 수업의 바탕이 되는 C 문법과 메모리 모델을 카드형 레퍼런스로 빠르게 탐색합니다.

14 cards

제목, 요약, 태그, 섹션 제목 기준으로 찾습니다.

섹션

시작과 문법

2 cards

시작과 문법

변수와 기본 타입

c
#include <stdbool.h>

int count = 3;
double ratio = 0.75;
char grade = 'A';
bool is_ready = true;
const int max_users = 100;

정수, 실수, 문자, 불리언처럼 C에서 가장 먼저 익혀야 하는 기본 타입과 변수 선언 규칙을 정리합니다.

시작과 문법

연산자와 식

c
int total = price * count;
int remain = total % 10;
int passed = score >= 60;
int can_enter = age >= 20 && has_ticket;

산술, 비교, 논리 연산자를 조합해 식을 만들고 조건을 계산하는 C의 기본 표현식을 정리합니다.

제어 흐름

2 cards

제어 흐름

조건문 기본

c
if (score >= 90) {
    grade = 'A';
} else if (score >= 80) {
    grade = 'B';
} else {
    grade = 'C';
}

조건에 따라 분기하는 `if`, `else if`, `else`, `switch` 기본 구조를 한 카드로 정리합니다.

제어 흐름

반복문 기초

c
for (int i = 0; i < 5; i++) {
    printf("%d\n", i);
}

`for`, `while`, `do while`로 반복 처리를 구성하는 C 반복문의 핵심 차이를 정리합니다.

함수와 배열

2 cards

함수와 배열

함수 기본

c
int add(int left, int right) {
    return left + right;
}

선언, 정의, 반환값, 매개변수까지 C 함수의 가장 기본적인 설계 규칙을 정리합니다.

함수와 배열

배열 기본

c
int scores[4] = {90, 85, 100, 70};
scores[1] = 88;

고정 길이 메모리 블록으로 데이터를 순서대로 저장하는 C 배열의 선언과 순회 패턴을 정리합니다.

포인터와 메모리

3 cards

포인터와 메모리

포인터 기본

c
int value = 10;
int *ptr = &value;
*ptr = 20;

주소를 저장하고 역참조하는 C 포인터의 가장 기본적인 의미와 사용법을 정리합니다.

포인터와 메모리

포인터와 배열의 관계

c
int numbers[3] = {10, 20, 30};
int *ptr = numbers;

printf("%d %d\n", numbers[0], *(ptr + 1));

배열이 함수 인자로 넘어가면 포인터처럼 취급되는 C의 array decay 개념을 정리합니다.

포인터와 메모리

동적 메모리와 malloc/free

c
int *numbers = malloc(sizeof(int) * count);
if (numbers == NULL) {
    return 1;
}

free(numbers);

실행 중 필요한 크기만큼 메모리를 확보하고 반납하는 `malloc`, `free`, `calloc` 기본 패턴을 정리합니다.

구조체와 문자열

2 cards

구조체와 문자열

문자열 기본

c
char name[16] = "Mina";
size_t length = strlen(name);

널 종료 문자 기반의 C 문자열과 `string.h` 함수들을 이해하기 위한 기본 규칙을 정리합니다.

구조체와 문자열

구조체 기본

c
struct Student {
    char name[20];
    int score;
};

여러 필드를 하나의 사용자 정의 타입으로 묶는 C `struct` 기본 패턴을 정리합니다.

입출력과 파일

2 cards

입출력과 파일

표준 입출력 기본

c
printf("score = %d\n", score);
fgets(name, sizeof(name), stdin);

콘솔에서 값을 읽고 출력하는 `printf`, `scanf`, `fgets` 중심의 C 표준 입출력 기본 패턴입니다.

입출력과 파일

파일 읽기와 쓰기 기본

c
FILE *fp = fopen("notes.txt", "r");
if (fp == NULL) {
    return 1;
}

fclose(fp);

`fopen`, `fgets`, `fprintf`, `fclose`를 이용한 C 파일 입출력의 가장 기본적인 흐름을 정리합니다.

전처리와 빌드

1 cards

전처리와 빌드

전처리기 기본

c
#include <stdio.h>
#define MAX_BUFFER 256

#ifndef DEBUG
#define DEBUG 0
#endif

`#include`, `#define`, 조건부 컴파일처럼 빌드 전에 동작하는 C 전처리기 기본 규칙을 정리합니다.