Written on
·
299
0
char tmp1 = (char )malloc(capacitysizeof(char )); 에서 (char )로 캐스팅을 해주는 이유가 무엇인가요?
C언어 기초와 병행하며 강의를 듣는 중이라 잘 이해가 되질 않네요! 도와주세요!
Answer 2
0
malloc함수가 void형 포인터를 반환하는 함수이기 때문입니다.
임의의 포인터 변수 = void형 포인터를 반환하는 함수
이 때, 임의의 포인터 변수 입장에서는 캐스팅을 해야, 해당 주소를 가지고, 값을 몇 바이트나 접근해야하는지 이를 알아야 사용가능하기때문입니다.
자세한 내용은 void형 포인터에 대해서 검색해보시는게 좋을거같습니다.
0
malloc함수가 void형 포인터를 반환하는 함수이기 때문입니다.
임의의 포인터 변수 = void형 포인터를 반환하는 함수
이 때, 임의의 포인터 변수 입장에서는 캐스팅을 해야, 해당 주소를 가지고서 값을 몇 바이트나 접근해야하는지, 이를 알아야 사용가능하기때문입니다.
자세한 내용은 void형 포인터에 대해서 검색해보시는게 좋을거같습니다.