
gethostbyaddr 함수는 호스트 이름을 리턴하는 함수입니다. 하지만, 리턴 값은 void* 형태로 반환됩니다. 이는 호스트 이름이 동적 메모리 공간에 할당되기 때문입니다.
gethostbyaddr 함수는 호스트 이름을 리턴하기 위해 동적 메모리 공간을 할당합니다. 이때, 할당된 메모리 공간의 주소를 void* 형태로 반환합니다.
호스트 이름을 사용하는 프로그램은 이 할당된 메모리 공간을 free() 함수를 사용하여 해제해야 합니다.
다음은 예제입니다.
#hostingforum.kr
c
#include
#include
#include
int main() {
struct hostent* host;
char* hostname;
host = gethostbyaddr((char*)"192.168.1.1", 4, AF_INET);
if (host == NULL) {
printf("호스트 이름을 찾을 수 없습니다.n");
return 1;
}
hostname = host->h_name;
printf("호스트 이름: %sn", hostname);
free(hostname); // 동적 메모리 공간을 해제합니다.
return 0;
}
gethostbyaddr 함수의 리턴 값은 void* 형태로 반환되지만, 실제로는 호스트 이름을 리턴하는 함수입니다. 프로그램은 이 할당된 메모리 공간을 free() 함수를 사용하여 해제해야 합니다.
2025-06-25 18:33