본문 바로가기

구조체의 초기화 //두 점의 위치로부터 거리를 계산하는 프로그램으로 구조체를 초기화하여 사용한다. #include #include //리눅스에서 gcc 컴파일 할 때 -lm을 끝에 입력 typedef struct { int x, y; }POINTER; int main() { POINTER p1 = {0, 0}, p2 = {1, 1}; //구조체 변수의 초기화 double distance, px, py; px = p2.x - p1.x; py = p2.y - p1.y; distance = sqrt(px * px + py *py); printf("distance : %6.3f\n", distance); return 0; } POINTER p1 = {0, 0}, p2 = {1, 1}; 변수 p1과 p2는 구조체 변수이면서 선언.. 더보기
inet_addr()함수, (=inet_aton) dotted decimal -> 32비트 IP주소 할 때, inet_addr()함수 사용(=inet_aton) #include #include int main() { char* addr1 = "1.2.3.4"; char* addr2 = "1.2.3.255"; unsigned long conv_addr; conv_addr = inet_addr(addr1); if(conv_addr == INADDR_NONE) { printf("error occur : %d\n", conv_addr); } else { printf("unsigned long addr(network ordered) : %x\n", conv_addr); } conv_addr = inet_addr(addr2); if(conv_addr == INAD.. 더보기
호스트pc(리틀엔디안) <-> 네트워크(빅엔디안) 네트워크 상에서는 빅엔디안을 사용 htons()함수 : 호스트에서 port번호(2바이트)를 네트워크로 바꿀 때 사용 ntohs()함수 : 네트워크에서 port번호(2바이트)를 호스트로 바꿀 때 사용 htonl()함수 : 호스트에서 IP주소(4바이트)를 네트워크로 바꿀 때 사용 ntohl()함수 : 네트워크에서 IP주소(4바이트)를 호스트로 바꿀 때 사용 h는 host, n은 network, s는 short(2byte), l은 long(4byte) P C 네트워크 리틀엔디안 빅엔디안 2byte(port번호) ---------------------> htons()함수 사용 htonl()함수 사용 더보기