더북(TheBook)

struct는 이름 있는 멤버(named member)로 구성된다. 즉, 초 단위를 tm_sec로, 연 단위를 tm_year로 표현했다. 날짜를 인코딩하는 방법은 간단하다. 가령 이 글을 쓰는 현재 날짜를 표현하면 다음과 같다.

 

터미널

 0     > LC_TIME=C date -u
 1   Wed Apr 3 10:00:47 UTC 2019

yday.c

29   struct tm today = {
30     .tm_year = 2019-1900,
31     .tm_mon = 4-1,
32     .tm_mday = 3,
33     .tm_hour = 10,
34     .tm_min = 0,
35     .tm_sec = 47,
36   };

이렇게 하면 struct tm 타입 변수 하나가 생성되면서 각 멤버가 적절한 값으로 초기화된다. 이 구조체에서 멤버의 위치나 순서는 중요하지 않다. 닷(.) 뒤에 멤버의 이름을 적기만 하면 해당 데이터를 지정할 수 있다.

▲ 그림 6-12 이름 있는 멤버로 정의한 today

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.