반응형
Malloc으로 할당하면 초기화가 안된다.
아래와 같이 코드를 돌리면
char* input = (char*)malloc(sizeof(char) * INPUT_NUM);
for (int i = 0; i < INPUT_NUM; i++) printf("%d\n", input[i]);
이런 이상한 값이 들어간다.
0으로 초기화하기 위해서 Calloc을 실행하면 된다. 선언 방식이 조금 다르니 유의 바란다.
char* input = (char*)calloc(INPUT_NUM, sizeof(char));
for (int i = 0; i < INPUT_NUM; i++) printf("%d\n", input[i]);
반응형
'개발 Tools > C_개념' 카테고리의 다른 글
C 포인터가 뭐길래 (0) | 2022.06.24 |
---|---|
C 배열의 모든 것이었으면 좋겠다 ( 문자열, gets, puts, 2차원 배열, Call by value, Call by reference ) (0) | 2022.06.18 |
C 기억 클래스 (storage class, auto, static, extern, register) (0) | 2022.06.15 |
C 개념 1부터 n까지 합 구하기 (0) | 2022.01.12 |
C 개념 조건 연산자 ( ? : ) (0) | 2022.01.12 |
댓글