현재 후배들과 c 스터디 중에 있습니다.
저번 시간에 malloc 함수에 관하여 설명해주는데,
"저는 malloc 함수는 메모리의 할당만 책임지고, 초기화는 책임지지 않는다."
라는 내용을 주로하여 calloc과 비교하여 설명하였습니다.
그런데 한가지 질문이 나온것이,
"gcc 상에서 아무리 malloc을 실행해도 초기화된 결과를 얻는다." 라는 이야기였습니다.
실제로 수행해보니,
1 #include <stdio.h>
2 #include <stdlib.h>
3
4 int main(void) {
5 int *a = (int*)malloc(sizeof(int));
6 printf("%d\n", *a);
7 return 0;
8 }
위와 같은 코드는 항상 출력이 '0' 으로 동일했습니다.