typdef int (*fukao)()
:把int (*xxxxx)()类型的函数简化定义为 fukao,以后fukao类型就代表这种函数的类型。 这里应该把int (*xx)()看做一个类型,把fukao看做一个新类型。要这样看
tzset();用于得到时区http://baike.baidu.com/link?url=FVFSW4ihgCIE1YXFuXH6kmK0u4oU4S6J8I4C-wUPCKPbE3L5nHI4_XqwkCU3-EIjx8cGymy8TUkrXNMEJf6nB_#4_7
setlocale(LC_ALL, "C");配置地域化信息函数 setlocale()的作用和使用例子
当向终端、控制台输出 wchar_t 类型的字符时,需要设置 setlocale(),因为通常终端、控制台环境自身是不支持 UCS 系列的字符集编码的,使用流操作函数时(如:printf()),在标准/RT库实现的内部会将 UCS 字符转换成合适的本地 ANSI 编码字符,转换的依据就是 setlocale() 设定的活动 locale,最后将结果字符序列传递给终端,对于来自终端的输入流这个过程刚好相反。http://www.cnblogs.com/hnrainll/archive/2011/05/07/2039700.html
_countof(uStateArray)
extern "C++"
{
template <typename _CountofType, size_t _SizeOfArray>
char (*__countof_helper(_UNALIGNED _CountofType (&_Array)[_SizeOfArray]))[_SizeOfArray];
#define _countof(_Array) (sizeof(*__countof_helper(_Array)) + 0)
}
http://blog.csdn.net/hanzz2007/article/details/6667209
_countof宏相对于arr_size宏有一个优势就是,它可以在编译期识别出参数为普通指针的异常情况,并且会产生编译错误告诉用户——你丫的传个毛指针!而arr_size则是一声不响的在运行时产生错误的结果,所以程序也就一声不响地越跑越不靠谱!所以综合而言,使用_countof宏更为安全!