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)
'공부 > C & C++' 카테고리의 다른 글
for문 안 int 선언 (2) | 2016.04.16 |
---|---|
(함수, C++) 입력 버퍼 비우기 [cin.ignore()] (0) | 2016.04.16 |
(함수) 문자열 분리 (strtok) (0) | 2016.04.12 |
(에러) 'strcpy': This function or variable may be unsafe. (0) | 2016.04.01 |
(c언어) 콘솔창 멈추기 system("pause") (0) | 2016.01.08 |