카테고리 없음

[C++] 메모리 관리 함수 - memset()

s뽈록이s 2014. 1. 27. 09:40
void main(void)
{
	int ar[10], i;

	for(i = 0; i < 10; i++)printf("%d\t", ar[i]);
	memset(ar, 0, sizeof(ar));
	for(i = 0; i < 10; i++)printf("%d\t", ar[i]);
}

프로그램 실행화면


void *memset(void *dest,int c,size_t count);


메모리의 값을 지정한 인자 값으로 채워주는 메모리 관리 함수이다. 처음 배열을 선언하고 초기값을 지정하지 않는다면 쓰레기 값이 들어 있다.


그래서 배열을 선언하고 memset()함수를 사용해 0으로 전부 초기화 하여 주었다. 처음 배열을 선언하자 마자 0으로 초기화 하는 방법으로 int ar[10] = {0}으로 해주면 전부 0으로 초기화 된다.


{}이 괄호 안에 1을 집어 넣어주면 전부 1일 될까? 아니다 0번지만 1로 되고 나머지는 전부 0으로 된다.


메모리 관리 함수의 장점은 바로 void형으로 인자를 넘겨준다는 것이다. 즉 모든 변수형들을 처리할 수 있다.