-
💡 [C언어] bzero 함수 설명 및 예시| 프로그래밍 분야/C 2021. 5. 4. 11:11
💡 man bzero
NAME
bzero -- write zeroes to a byte string
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <strings.h>
void
bzero(void *s, size_t n);
DESCRIPTION
The bzero() function writes n zeroed bytes to the string s. If n is zero, bzero() does noth-
ing.
SEE ALSO
memset(3), swab(3)
HISTORY
A bzero() function appeared in 4.3BSD. Its prototype existed previously in <string.h> before
it was moved to <strings.h> for IEEE Std 1003.1-2001 (``POSIX.1'') compliance.
bzero() was deprecated in IEEE Std 1003.1-2001 (``POSIX.1'') and removed in IEEE Std
1003.1-2008 (``POSIX.1'').bzero()
함수는memset()
과 마찬가지로,string.h
에 정의되어 있다.memset()
함수가 지정 address를 참조하여 1byte단위로 n bytes에 값을 대입하는 함수였다면,bzero()
는memset()
의 두번째 파라미터(대입할 값)이 0으로 고정된 함수이다.즉,
bzero(void *s, size_t n) == memset(void *s, 0, size_t n)
이라고 볼 수 있다.다만, C99 기준
bzero()
는 (man에서 볼 수 있다시피) deprecated 되었으므로 사용을 지양함이 좋다.💡 테스트케이스
void *memset(void *b, int c, size_t len);
에서 두번째 파라미터가 0인 경우를 참고하자. 원문에 자세한 해설도 있으니 참고하길 바란다.---------- memset(list3, 0, sizeof(int) * 8)
Original : {0, 1, 2, 3, 4, 5, 6, 7}
Result : {0, 0, 0, 0, 0, 0, 0, 0}원문 : meoru-tech.tistory.com/13