공부/C

C - bzero

티르 2020. 12. 24. 17:25

bzero


기능

  • 메모리 값을 0으로 변경

함수

#include <strings.h>

void *bzero(void *s, size_t n);
  • strings.h에 존재

  • *s : 포인터. 초기화하려는 메모리의 시작 주소

  • n : 0으로 설정할 바이트 수

반환값

  • 없음

사용 예제

#include <string.h>
#include <stdio.h>

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언어 비표준 - deprecated 된 함수

  • 'man bzero' 실행 시, memset을 사용하라는 문구가 있다.

man bzero

This function is deprecated (marked as LEGACY in POSIX.1-2001):
use memset(3) in new programs. POSIX.1-2008 removes the specification of bzero().

 

 


 

C - memset

memset (memory + setting) 기능 할당 받은 메모리를 특정 값으로 초기화 하는 함수 주로 연속된 메모리(ex 배열)의 값을 초기화할 때 주로 사용 함수 #include // or #include void *memset(void *_Dst, int _Val..

tea-rrr.tistory.com

 

'공부 > C' 카테고리의 다른 글

C - memcpy  (0) 2020.12.24
C - memset  (0) 2020.12.24