반응형

Q. 앞의 1번 문제에서 구현한 프로그램을 조금 변경하여 구조체 포인터 배열을 선언하고 구조체 변수를 동적으로 할당하는 형태로 프로그램을 재구현하라.



>>동적할당 함수 malloc을 쓰기 위하여 헤더파일 추가


>>book 구조체를 선언해준다.

   








-메인함수부-







































구조체 포인터를 선언한 후, p변수에 포인터 초기화 동시에 메모리공간을 동적으로 할당하여 준다. 그 후, 앞의 문제와 같이 반복문을 사용하여 입력과 출력을 해주고 마지막으로 동적할당된 메모리공간을 반환하여 준다.


-결과창-



반응형
반응형

LAN - Local Area Network : 어느 한정된 공간에서 네트워크를 구성하는 것(사무실)

WAN - Wide Area Network : 멀리 떨어진 지역간 네트워크 구축(인터넷)


네트워킹 방식은 크게 네가지로 나뉜다. 그러나 대부분 이더넷 방식이다.


-이더넷- 

  -CSMA/CD 프로토콜 사용

  -CSMA/CD = Carrier Sense Multiple Access/Collision Detection : 대충 눈으로 통신


이더넷 환경에서는 통신하고 싶은 PC나 서버는 자신의 네트워크 자원을 쓰고 있는 PC나 서버 중에서 통신 가능한 장비가 있는지 확인한다. (=즉 캐리어가 있는지 확인=>Carrier Sense)

캐리어가 감지되면 보낼 정보가 있어도 못 보내고 기다리고, 네트워크 통신이 없어지면 눈치를 보다 자신의 데이터를 네트워크 상에 실어보낸다. 눈치를 보다 두개 이상의 장비가 동시에 네트워크 상에 데이터를 실어보내는 경우(다중 접근) 충돌이 발생한다. = 콜리젼 발생

콜리젼이 발생하면 데이터를 전송했던 PC들은 랜덤한 시간동안 기다린 후 다시 전송해야 한다. 기다렸다 다시 보내도 충돌한다면, 또 다시 기다려야 한다. 그러나 15번을 전송했음에도 충돌이 발생한다면, 통신을 포기한다.

이더넷 환경에서 콜리젼이 발생하는 것은 CSMA/CD프로토콜 특성상 자연스럽지만, 너무 많은 콜리젼이 발생한다면 통신이 불가능해진다.


-토큰링-


토큰링 방식에서는 데이터를 전송하고자 하는 PC는 이더넷처럼 통신하고 있지 않다고 막 보내는것이 아니라 토큰을 가지고 있는 오직 한 PC만 데이터를 보낼 수 있다. 데이터를 다 보냈거나 보낼 데이터가 없으면 옆 PC에게 토큰을 전달한다.

콜리젼이 발생하지 않고 네트워크에 대한 성능을 미리 예측할 수 있지만, 순서를 기다려야 한다는 단점이 있다.


이더넷은 순서 없이 눈치로 통신 / 토큰링은 토큰을 가진 순서에 따라 통신

이더넷방식은 우리나라에서, 토큰링은 유럽에서 쓰인다고 한다.



반응형

'Study > Network' 카테고리의 다른 글

TCP/IP 프로토콜  (0) 2014.08.02
캐스트 종류+OSI 7계층  (0) 2014.08.02
맥 어드레스(MAC Address)  (0) 2014.08.02
케이블에 대해...  (0) 2014.08.01
네트워크 개요  (1) 2014.07.14
반응형

Q. 간단한 도서 관리용 프로그램을 작성하라. [제목, 저자명, 페이지수]에 대한 정보를 저장할 수 있는 구조체를 정의하고, 구조체 배열을 선언하여 도서에 대한 정보를 저장하는 구조를 작성해 보자. main함수에서는 사용자로부터 3권의 도서에 대한 정보를 입력받고, 입력이 끝나면 도서에 대한 내용을 출력해 주도록 하자.





   이름을 저장할 배열, 제목을 저장할 배열, 페이지 수를 저      장할 인트형 변수를 구조체로 정의한다.







main 함수에서


구조체를 한번에 담을 배열을 선언하고,


반복문을 사용하여 입력받는다.















출력부분













#printf, scanf 입출력함수를 사용하여 빈칸은 인정이 안되므로 주의하자(빈칸까지 수용하려면 putchar, getchar을 이용하라)


-결과창-










반응형

+ Recent posts

반응형
반응형