我在网上看到这么一个例子,但是不太懂,希望各位高手指点
/* What day of the week is July 4, 2001? */
#include
#include
int main(void) {
static const char *const wday[] = {
"Sunday", "Monday", "Tuesday", "Wednesday",
"Thursday", "Friday", "Saturday", "-unknown-"
};
struct tm time_str;
time_str.tm_year = 2001 - 1900;
time_str.tm_mon = 7 - 1;
time_str.tm_mday = 4;
time_str.tm_hour = 0;
time_str.tm_min = 0;
time_str.tm_sec = 1;
time_str.tm_isdst = -1;
if ( mktime(&time_str) == (time_t)(-1) )
time_str.tm_wday = 7;
printf("%s\n", wday[time_str.tm_wday]);
system("PAUSE");
return 0;
}
我的问题是:
1. "static const char *const wday[]" 这个定义是什么意思?我的理解是“static const char *”的意思是一个静态的常量指针,但是后面的一个const又是什么意思呢?
2. 这里定义的是一个数组,数组中包含8个字符串,为什么不直接定义一个有8个元素的数组呢,却要这样定义?有什么好处?
先谢谢各位高手了!
|