结构体:它是将几个数据以及数据的类型封装在一个数据类型中,如果你学过面向对象的语言,那么就好似是一个类,比如一个人的身体就可以看做一个结构体,它是由头、腿,膀子等一切构成人的身体这个物体的。以后访问,你可以先找到人的身体,在去访问头啊。例:
struct
body{
head
hh;
hand
ha;
};
这只是个假设,要是语言会有:
struct
people{
int
age;
char[20]
name
}
而共用体:和他的名字一样公用,比如
宿舍就是一个公用的地方,你和别人说这是你的宿舍,那么舍友也可以和别人说这是他的宿舍,这是你们共同的宿舍,比如有
union
uu{
int
ii
char
cc
}
int
和
char
公用一块内存。这样节约啊!!还有其他的优点。比如节约强制转化,需要的注意的是,只有两个可以相互转化的类型才可以公用一块内存,因为他们只有在内存中表现形式相同才可以啊,要不转化怎么办啊。。
=-=
可以使用SYSTEMTIME类型
typedef struct _SYSTEMTIME {WORD wYear
WORD wMonth
WORD wDayOfWeek
WORD wDay
WORD wHour
WORD wMinute
WORD wSecond
WORD wMilliseconds
} SYSTEMTIME, *PSYSTEMTIME, *LPSYSTEMTIME
也可以使用time_t
#ifndef _TIME32_T_DEFINEDtypedef _W64 long __time32_t /* 32-bit time value */
#define _TIME32_T_DEFINED
#endif
#ifndef _TIME64_T_DEFINED
typedef __int64 __time64_t /* 64-bit time value */
#define _TIME64_T_DEFINED
#endif
#ifndef _TIME_T_DEFINED
#ifdef _USE_32BIT_TIME_T
typedef __time32_t time_t /* time value */
#else
typedef __time64_t time_t /* time value */
#endif
#define _TIME_T_DEFINED /* avoid multiple def's of time_t */
#endif
还有其它类型,当然,你也可以自己定义一个日期类型,比如,我就是自己定义了如下类型:
//Only for C++typedef struct tagGDATE{
signed short sYear//年(公历)
unsigned short wMonth//月(公历)
unsigned short wDay//日(公历)
unsigned short wDayOfWeek//星期
tagGDATE() : sYear(0), wMonth(0), wDay(0), wDayOfWeek(0){}
}GDATE,*PGDATE,LPGDATE//公历日期
typedef struct tagTIME{
unsigned short wHour//时
unsigned short wMinute//分
unsigned short wSecond//秒
unsigned short wMillisecond//毫秒
tagTIME() : wHour(0) ,wMinute(0), wSecond(0), wMillisecond(0){}
}TIME,*PTIME//时间
typedef struct tagDATETIME : GDATE , TIME{
}DATETIME,*PDATETIME,LPDATETIME//公历日期时间
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)