[C표준함수] memset() 함수 |
글쓴이 : 정민구 날짜 : 09-03-26 21:19 조회 : 6046 |
memset
메모리를 지정한 문자로 채웁니다. Declaration void *memset( void *dest, int c, size_t count ) Return value 성공 - 채워진 메모리 주소(dest 매개 변수) 반환 실패 - 없음 Parameters dest - 채울 메모리의 주소 c - 채울 문자 count - 채우려고 하는 문자 개수 Detail descriptions memset()는 버퍼를 똑같은 "문자"로 채울 때 사용합니다. 명확하게 문자라고 표현했듯이 단위는 바이트입니다. memset()는 문자를 저장하는 char 배열뿐만 아니라 모든 종류의 배열에 대해서 사용할 수 있습니다. 그러나, 단위가 바이트이기 때문에 배열 요소의 자료형에 따라 세심한 주의가 필요합니다. 대부분의 배열은 초기 상태로 0을 갖습니다. 그래서, {} 초기화를 사용해서 모든 요소에 대해 0을 지정하도록 합니다. 그러나, {} 초기화는 배열을 선언할 때 한번만 사용할 수 있고, 이후에는 일일이 모든 요소에 대해 0을 넣어줘야 합니다. 이와 같이 모든 요소를 0으로 채울 때, 배열 종류에 상관없이 사용하는 함수가 memset()입니다. |
출처 : http://www.itdi.co.kr/onuri/bbs/board.php?bo_table=02_1&wr_id=9
소켓 프로그래밍 당시 이 함수가 계속하여 쓰이기에 알아보았다.
주로
memset(&addr, 0 sizeof(addr));
이런식으로 sockaddr_in addr;로 선언한 주소체계를 addr의 size만큼 0으로 채우는 것을 볼 수 있다.
'TCP/IP 소켓Prog > tcp/ip 함수' 카테고리의 다른 글
[tcp/ip] 도메인 이름을 이용해서 IP 주소 얻어오기 / IP주소를 이용해 도메인 정보 얻어오기 (0) | 2011.07.29 |
---|---|
[질문/답변]5장 계산기문제 버스 오류(Bus Error)(메모리가 덤프됨) (0) | 2011.07.29 |