공부/C 3

C - memcpy

memcpy (memory + copy) 기능 메모리 일부분을 바이트 복사 함수 #include void *function(void *destination, const void *source, size_t num); string.h에 존재 *destination : 데이터가 복사 될 시작 위치 주소 *source : 복사할 데이터들의 시작 위치 주소 num : 복사할 데이터의 바이트 수 반환값 *destination 사용 예제 #include #include int main() { char src[] = "source"; char dst[] = "destination"; printf("%s\t%s\n", src, dst); memcpy(dst, src, sizeof(src)); printf("%s\t%s..

공부/C 2020.12.24

C - bzero

bzero 기능 메모리 값을 0으로 변경 함수 #include void *bzero(void *s, size_t n); strings.h에 존재 *s : 포인터. 초기화하려는 메모리의 시작 주소 n : 0으로 설정할 바이트 수 반환값 없음 사용 예제 #include #include int main() { int ptr[] = { 1, 2, 3, 4, 5, 6 }; bzero(ptr, sizeof(ptr)); // memset(ptr, 0, sizeof(ptr))과 동일한 결과 for (int i = 0; i < sizeof(ptr) / sizeof(int); i++) { printf("[%d] %d\n", i, ptr[i]); } return 0; } 결과: 배열의 모든 값이 0으로 설정됨 주의사항 C언..

공부/C 2020.12.24

C - memset

memset (memory + setting) 기능 할당 받은 메모리를 특정 값으로 초기화 하는 함수 주로 연속된 메모리(ex 배열)의 값을 초기화할 때 주로 사용 함수 #include // or #include void *memset(void *_Dst, int _Val, size_t _Size); string.h와 memory.h 둘다 memset이 존재 _Dst : 포인터. 채우고자 하는 메모리의 시작 주소 _Val : 설정할 값 _Size : 설정할 바이트 수. 주로 sizeof(데이터타입)형태로 작성 반환값 성공: _Dst. 설정한 메모리의 시작주소 실패: NULL 사용 예제 #include #include int main() { char ptr[] = "memset test"; printf("..

공부/C 2020.12.24