指针数组的初始化语法:
我们在这定义一个 int类型的 指针数组 name
int *name[] = {1,2,3,4};
name数组的初始化通过一个数字列表实现,
列表中的每个数字赋值给数组name中相应位置的元素,
第n个数字存贮在存储器中的某个位置,
指向他的指针存储在name[n]中。
但是我们需要注意的事,由于上述声明中没有指名数组name的长度,因此,
编译器编译时将对数组的初始值的个数进行统计,并将这一个准确的数字填入数组的长度中。
下面让我们来编写一个函数
函数名:month_name
函数的作用是:返回第n个月的名字
/* month_name 返回第n个月的名字 */
char *month_name(n)
{
static char *name[] = {
"Illegal month",
"January",
"February",
"March",
"April",
"May",
"June",
"july",
"August",
"September".
"October",
"November",
"December"
}
return (n < 1 || n > 12 ) ? name[0] :name[n];
}
上面这个函数当 n为1 - 12 之间的数的时候 函数返回 指针数组name中 指定的值
当n为1-12之外的值得时候 函数返回name[0] 即为Illegal month