➜ 정수형, 실수형, 상수, printf, scanf, 문자열
➜ 반복문 | for, while, do-while, 이중 for문(구구단 예시)
➜ 조건문 | if, else if, else, break, continue, rand(), srand()
➜ 함수(function) | 선언과 정의, 반환값, 파라미터(매개변수)
➜ 배열(Array) | 문자열 초기화, 크기와 메모리, 문자열 함수, sizeof(),
널(null) 문자('\0')
➜ 다차원 배열(Multi-Demetional Arrays)
➜ 포인터(pointer) 개념 완벽이해하기(ft. 미션맨과 스파이의 임무)
➜ 구조체(Struct) | 구조체 포인터, typedef
➜ 자주 쓰이는 '내장함수' 정리 | 파일입출력, 문자열처리, 수학, 포인터
관련 함수
1. 문자열 처리 함수
- strcmp
: 두 개의 문자열을 비교하여 같으면 0을 반환하고, 다르면 0이 아닌 값을 반환한다.
char str1[] = "hello";
char str2[] = "world";
int result = strcmp(str1, str2); // result = -1
- strcat
: 두 개의 문자열을 연결하여 하나의 문자열로 만든다.
char str1[20] = "hello";
char str2[] = "world";
strcat(str1, str2); // str1 = "helloworld"
2. 포인터 관련 함수
- malloc과 free
: 동적으로 메모리를 할당하고 해제하는 함수. 동적 메모리 할당을 통해 유연한 크기의 배열이나 구조체를 사용할 수 있다.
int *ptr;
ptr = (int *)malloc(5 * sizeof(int));
// 사용 후 메모리 해제
free(ptr);
3. 파일 입출력
- fopen과 fclose
: 파일을 열고 닫는 함수. 파일 입출력을 통해 데이터를 읽고 쓸 수 있다.
FILE *fp;
fp = fopen("data.txt", "r"); // 읽기 모드로 파일 열기
// 파일 읽기 작업 수행
fclose(fp); // 파일 닫기
- fprintf와 fscanf
: 파일에 데이터를 출력하고 입력하는 함수
FILE *fp;
fp = fopen("data.txt", "w"); // 쓰기 모드로 파일 열기
fprintf(fp, "Hello, world!"); // 파일에 문자열 출력
fclose(fp); // 파일 닫기
fp = fopen("data.txt", "r"); // 읽기 모드로 파일 열기
char str[20];
fscanf(fp, "%s", str); // 파일에서 문자열 입력
fclose(fp); // 파일 닫기
4. 수학 함수
- sqrt
: 제곱근을 계산하는 함수
#include <math.h>
double result = sqrt(25); // result = 5.0
- rand와 srand
: 난수를 생성하는 함수
#include <stdlib.h>
int random_number = rand() % 10; // 0부터 9 사이의 난수 생성
// 시드 값 설정
srand(123); // 시드 값을 고정하면 항상 같은 난수를 생성
5. 문자 처리 함수
- isalpha와 isdigit
: 문자가 알파벳인지 숫자인지 판별하는 함수
char ch1 = 'A';
char ch2 = '5';
if (isalpha(ch1)) {
printf("알파벳입니다.\n");
}
if (isdigit(ch2)) {
printf("숫자입니다.\n");
}
'C' 카테고리의 다른 글
[C언어] 구조체(Struct) | 구조체 포인터, typedef (0) | 2023.08.18 |
---|---|
[C언어] 포인터(pointer) 개념 완벽이해하기(ft. 미션맨과 스파이의 임무) (0) | 2023.08.11 |
[C언어] 다차원 배열(Multi-Demetional Arrays) (0) | 2023.08.07 |
[C언어] 배열(Array) | 문자열 초기화, 크기와 메모리, 문자열 함수, sizeof(), 널(null) 문자('\0') (0) | 2023.08.05 |
[C언어] 함수(function) | 선언과 정의, 반환값, 파라미터(매개변수) (0) | 2023.08.03 |