| 구분 | 개념 | 문법 / 함수 | 설명 | 예시 |
|---|---|---|---|---|
| 자료형 | 정수 | int |
정수 저장 | int a = 10; |
| 자료형 | 문자 | char |
문자 1개 | char c = 'A'; |
| 자료형 | 실수 | float / double |
소수 저장 | double pi = 3.14; |
| 자료형 | 없음 | void |
반환값 없음 | void func() |
| 입출력 | 출력 | printf() |
화면 출력 | printf("%d", a); |
| 입출력 | 입력 | scanf() |
키보드 입력 | scanf("%d", &a); |
| 연산자 | 산술 | + - * / % |
기본 계산 | a + b |
| 연산자 | 비교 | == != > < >= <= |
조건 비교 | a > b |
| 연산자 | 논리 | `&& | !` | |
| 조건문 | if | if / else |
조건 분기 | if(a > 0) |
| 조건문 | switch | switch |
다중 분기 | switch(a) |
| 반복문 | for | for |
반복 실행 | for(i=0;i<10;i++) |
| 반복문 | while | while |
조건 반복 | while(i<10) |
| 함수 | 선언/정의 | return type func() |
기능 정의 | int add(int a,int b) |
| 배열 | 1차원 | int arr[] |
같은 타입 저장 | arr[0] |
| 배열 | 문자열 | char str[] |
문자 배열 | "hello" |
| 문자열 | 함수 | strlen / strcpy / strcmp / strcat |
문자열 처리 | strlen(str) |
| 포인터 | 주소 | & |
변수 주소 | &a |
| 포인터 | 역참조 | * |
값 접근 | *p |
| 포인터 | 포인터 변수 | int *p |
주소 저장 | int *p = &a; |
| 구조체 | 정의 | struct / typedef |
사용자 타입 | struct Node {} |
| 구조체 | 접근 | . / -> |
멤버 접근 | s.age, p->age |
| 메모리 | 할당 | malloc() |
동적 할당 | malloc(sizeof(int)) |
| 메모리 | 초기화 할당 | calloc() |
0 초기화 | calloc(n,sizeof(int)) |
| 메모리 | 재할당 | realloc() |
크기 변경 | realloc(ptr,size) |
| 메모리 | 해제 | free() |
메모리 반환 | free(ptr) |