목차
isalpha
헤더 : <ctype.h>
int isalpha(int c)
매개변수로 들어온 인자가
- 알파벳 대문자 "A-Z"는 return 1
- 알파벳 소문자 "a-z"는 return 2
- 알파벳이 아니면 return 0
을 반환하는 함수
매개변수가 int형이지만 char 형으로 넣어도 아스키코드로 자동으로 형변환되어 들어가게 된다.
isdigit
헤더 : <ctype.h>
int isdigit(int c)
매개변수로 들어온 char 형이
- 10진수 숫자로 변경이 가능하면 0이 아닌 숫자(true),
- 불가능하면 0(false)를 반환하는 함수
즉 "0-9"에 매칭되는 문자가 들어오면 true를 반환하는 함수
isalnum
헤더 : <ctype.h>
int isalnum(int c)
매개변수 값이 알파벳 또는 숫자이면 0이 아닌 값을 반환하고
아니라면 0을 반환하는 함수
isascii
헤더 : <ctype.h>
int isascii(int c)
아스키 문자일 경우 0이 아닌 값을 반환하고,
아스키 문자가 아닐 경우 0을 반환하는 함수
아스키값이 0~127의 값이면 아스키 문자
isprint
헤더 : <ctype.c>
int isprint(int c)
c가 공백을 포함하여 출력할 수 있는 문자이면 0이 아닌 수를
아닌 값은 0을 반환하는 함수
아스키값으로 32 ~ 126에 해당하는 문자들이 출력 가능한 문자
memset
헤더 : <memory.h> || <string.h>
void* memset(void* ptr, int value, size_t num)
메모리의 값을 원하는 크기만큼 특정 값으로 세팅할 수 있는 함수
memory + setting
- prt : 세팅하고자 하는 메모리의 시작 주소
- value : 메모리에 세팅하고자 하는 값
- num : 바이트 단위의 길이. 보통 [길이 * sizeof( data type ) ] 형태로 작성
- return : 성공하면 ptr, 실패시 Null 반환
bzero
헤더 : <string.h>
void bzero(void *s, size_t n)
zero 값을 채우는 함수
0x00 값을 s 영역에 n byte 크기만큼 초기화하는 함수
memcpy
헤더 : <string.h>
void* memcpy(void* dest, const void* source, size_t num)
memory + copy
메모리의 값을 복사하는 함수
- dest : 복사 받을 메모리를 가리키는 포인터
- source : 복사할 메모리를 가리키는 포인터
- num : 복사할 데이터의 길이 (byte 단위)
만약 source 문자열의 끝까지 즉 문자열 끝의 null값까지 포함해 복사하려면 src길이에 +1을 해주어야 한다.
memmove
헤더 : <string.h>
void* memmove(void* dest, const void* src, size_t num)
memory + move
src가 가리키는 메모리에서 num byte 만큼 dest가 가리키는 메모리에 옮기는 함수
memcpy와 같은 결과지만 memmove는 복사할 것을 버퍼에 먼저 복사한 후 해당 위치에 가서 버퍼에 복사된 겉을 붙여넣는 방식으로 수행된다. 따라서 안정성 면에서 memcpy보다 좋다고 할 수 있다.
주소값이 겹치는 경우 의도한대로 복사되지 않을 수 있기 때문이다.
- dest : 복사한 것을 붙여넣을 메모리를 가리키는 포인터
- src : 복사할 메모리를 가리키는 포인터
- num : 복사할 바이트 길이
'42SEOUL' 카테고리의 다른 글
[c] LIBFT 2 (0) | 2022.01.12 |
---|---|
[C] size_t (0) | 2021.11.18 |
[C] malloc (0) | 2021.10.26 |
[C] 전처리기, main() (0) | 2021.10.26 |
[C] str 함수 (0) | 2021.10.12 |