함수의 출력 데이터형의 결정.(void일때)
들샘
2023.04.01
질문 제목 :함수의 출력 데이터형의 결정.(void일때)질문 요약 :보통 함수의 입출력 형태는 해드 선언 아래에 (출력데이터형) (함수이름)((입력데이터형)); 과 같은 형태일때 의문이 있습니다.질문 내용 : 함수 void *malloc(unsigned int size)라는 메모리 할당 함수의 원형인데 이것의 출력데이터 형은 주소인데
void가 무슨 의미로 되어 있는건지 잘 모르겠습니다.
-
호시
답변에 많은것을 배우네요 ㅜㅜ
-
고양이
void 포인터는 함수의 리턴형으로 사용이 되든 매개변수로 사용이 되든간에 같은 의미를 지닙니다.
윗분의 말씀처럼 malloc은 heap 영역에서 메모리를 할당해줄뿐 할당된 메모리가 어떻게 사용이 되는지에는
관심이 없습니다. 그러므로 할당 받은 주소값을 프로그래머가 원하는 자료형으로 형변환을 해서 사용하시면
됩니다.
int *addr = (int *)malloc(sizeof(int));
즉 메모리 할당은 해주는데 이 메모리를 니가 어떻게 사 -
하늘
답변 감사합니다 . 덕분에 씨언어를 확실히안듯?!?ㅎ
-
배꽃
미정이요.
malloc 은 메모리만 할당할 뿐 어떤 자료형을 저장할 용도로 쓰일 것인지 알 수 없기 때문에
정해지지 않음을 나타내는 void 를 사용한 것입니다.