关于static与返回指针的函数
char *month_name(int n)
{
static char *name[] = {"January", "February", "March", "April", "May", "June",
"July", "August", "September", "October", "November", "December"};
return (n < 1 || n > 12)?name[0]:name[n];
}
- 函数名char *month_name(int n)
该函数返回一个指向字符串的指针。
- 关于static类型的变量——char *name[ ]
static类型的内部变量与内部自动变量的区别——不管其所在的函数是否被调用,它一直存在,而不像自动变量那样,随着所在的函数的被调用和退出而存在和消失。即指针数组name是只能被该函数调用,但一直占据存储空间的变量。
char *name [ ] 是一个一维数组,内部成员是指向字符串的指针
- 关于static类型的变量——char *name[ ]
static类型的内部变量与内部自动变量的区别——不管其所在的函数是否被调用,它一直存在,而不像自动变量那样,随着所在的函数的被调用和退出而存在和消失。即指针数组name是只能被该函数调用,但一直占据存储空间的变量。