본문 바로가기

C/C++/[C] 함수

[C 함수] memset 함수.

반응형

C언어등 에서 변수를 선언하고 해야할일중 가장 중요한걸 뽑자면

 

초기화 라고 말하겠다.

 

처음에

 

char str[100];

 

위와 같이 선언을 했을때 str 이라는 변수의 공간에는 아무 값도 없이

비어있을수도 있지만 대게 쓰래기 값이라 부르는 이상한 값들이 들어가 있으므로,

 

이를 그대로 사용할경우, 예기치 못한 에러가 발생할수 있다.

 

 

여행을 가서 펜션이나 호텔을 갔을때 방이 깨끗하지 않으면 기분이 나쁘듯이...

변수를 선언하고 사용할때도 미리 깔끔하게 청소(초기화)를 하고 사용하는게 좋겠다 라는 생각..

 

초기화를 할때 어떤 값을 채울지는 변수의 형태마다 조금씩 다르고,

프로그램상의 로직상 다르긴 하지만,

 

char 배열은 주로 널값으로 초기화를 하고, int 형은 0 또는 -1 등으로 초기화를 한다.

 

 

int 형 변수는 간단하게 선언과 동시에

int a = 0, b = -1;

 

이런 방법으로 초기화가 되지만,

char 배열은 위와 같은 방법으로 하기엔 조금 애매하다.

 

이때 유용한 함수가, memset 함수이다.

 

사용법.

 

memset(str, 0x00, sizeof(str));

 

위와 같은 방법으로 사용할수 있는데.

 

첫번째는 값을 세팅할 변수의 주소,

두번째는 어떤값으로 채울것인지,

세번째는 얼만큼의 메모리만큼 채울건지를 명시하면 된다.

 

여기서 0x00 은 넓값을 의미한다.

 

반응형