두박자 님이 쓰신 글 :
: struct SB
: {
: char msg[256]; //(1)
: }
: strutc SA
: {
: char id;
: SB body;
: }
: -----------------------------------
: char iComp[256]={0, }; //(2)
:
: SA ddd;
: memset(&ddd, 0, sizeof(SA);
: ---------------------------------------
:
: 하나는 (1)구조체의배열이고요, 하나는 (2)그냥 배열 선언한것인데.....
:
: 1의 구조체 배열에는 값이 들어가기전에 보면 "" 아무값도 없는데
: 2의 그냥 선언한 배열에는 "\0\0\0\0\0\0\0 ...." 들어가 있습니다.
:
: 2처럼 값이 "\0\0"이 꽉차게 들어가게 하려면 어떻게 해야 하는지요
memset 함수의 기능을 공부해보세요.같은 기능의 함수로 ZeroMemory가 있습니다.
void * memset(void *s, int c, size_t_tn);
s:채울 대상이 되는 메모리
c:채울 값. int형이이지만 1바이트로 인식된다.
n:채울 개수
기능:s가 포인트하는 메모리를 값c로 n개를 채운다.
리턴값:s의 포인터
http://www.winapi.co.kr/ 참조
|