unit 52 구조체와 메모리 사용 부분 질문
, 홍 임시님이 작성구조체 변수를 선언할때 {0,}처럼 중괄호를 사용하여
0으로 초기화할 수 있었지만, 변수에서만 사용가능하고
malloc함수로 할당한 메모리에서는
사용불가능하다고 쓰여져 있는데 왜 그런가요?
Re: unit 52 구조체와 메모리 사용 부분 질문
, 도장_ 관리자님이 작성{0, }처럼 쓰는 건 정적으로 할당하기 때문입니다. 컴파일 시점에 초기화가 되기 때문입니다.
malloc은 동적 할당으로 컴파일 시점에는 알 수 없는 메모리를 할당하기 때문입니다.
효율성을 이유로 프로그램이 사용하고 반납한 메모리를 0으로 삭제하는 경우는 없습니다. 그래서 동적 할당 이후에 초기화가 필요하다면 직접 초기화를 해야 합니다.