구분 개념 문법 / 함수 설명 예시
자료형 정수 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)