typedef struct english {

char word[50]; //단어

char mean[100]; //뜻

struct english* chain = NULL;

}ENGLISH;


ENGLISH* tmp = (ENGLISH *)malloc(sizeof(ENGLISH));


이런식으로 동적할당을 받아서 char배열에 값을 넣고 쓸 때


쓰레기 값들이 한번씩 나왔던것 같다.


물론 구조체 안에서 각 멤버들을 초기화 해주어도 되지만


나는 할당을 받고나서 memset을 이용하여 초기화를 해준다.


///////////////////////////////////////////////////////////


ENGLISH* tmp = (ENGLISH *)malloc(sizeof(ENGLISH));

memset(tmp, 0, sizeof(ENGLISH));


///////////////////////////////////////////////////////////


이렇게 해주면 한번에 해당 메모리를 원하는 문자로 초기화 할 수 있다.


=================================================



원형 : void * memset(void *ptr, int value, size_t num);


ptr은 시작 주소

value 해당 공간을 채울 값

num은 시작 주소부터 얼마만큼 value로 채울지 (size)



+ Recent posts