내 잡다한 노트
memset, strcpy 본문
# memset : memory setting. 즉, 메모리를 (특정 값으로) 세팅한다.
이 함수는 메모리의 내용을 원하는 크기만큼 특정 값으로 세팅할 수 있는 함수이다.
헤더파일은 memory.h 또는 string.h 둘 중 아무거나
void* memset (void* ptr, int value, size_t num)
첫번째 인자 *ptr은 세팅하고자 하는 메모리의 시작 주소. 포인터가 위치하는 자리
두번째 인자 value는 메모리에 세팅하고자 하는 값을 넣는다.
세번째 인자는 길이를 뜻하고 바이트 단위이다. 보통, 길이 * sizeof(데이터타입) 의 형태로 작성.
리턴값은 성공하면 ptr을 반환, 실패하면 null을 반환
ex) 문자 배열 변경, 배열 초기화
주의점) 0과 char 타입이 아닌 값을 넣어 세팅하려할땐 우리가 원하는 값으로 세팅할 수 없으니 0과 char타입만 사용하자.
# strcpy
문자열을 복사하는 함수이다.
헤더파일은 string.h
함수 원형 : char* strcpy (char* dest, const char* origin)
origin에 있는 문자열 전체를 dest로 복사를 하는 함수이다.
주의해야 할 점 : 문자 배열에는 \0이 끝에 있고 이걸로 문자열의 끝을 판단한다.
이때, strcpy로 복사를 하게 되면 문자열의 끝을 나타내는 \0까지 복사가 된다.
tmi) 파이썬에서는 string이 immutable해서 string[7] = 'a'로 바꿀 수 없었지만 c에선 배열 형태라 된다.
'Language > C언어' 카테고리의 다른 글
자주 쓰이는 C언어 헤더파일 간단한 설명 (0) | 2023.05.13 |
---|---|
C언어 배열포인터 (0) | 2023.05.13 |
C언어) 포인터, 이중포인터, 포인터와 배열 (0) | 2023.03.12 |
C언어) 입력, 배열, 문자열 (0) | 2023.03.08 |
C언어) 주석, 출력, 자료형 (0) | 2023.03.06 |