码迷,mamicode.com
首页 > 编程语言 > 详细

指针数组的初始化

时间:2016-11-06 11:30:28      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:har   其他   style   存储   函数   return   类型   调用   指针数组   

考虑这样一个问题:编写一个函数month_name(n),它返回一个指向第n个月名字的字符串的指针。这时内部static类型数组的一种理想的应用。month_name函数中包含一个私有的字符串数组,当它被调用时,返回一个指向正确元素的指针。

指针数组的初始化语法和前面所讲的其他类型对象的初始化语法类似:

char *month_name(int 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];
}

其中,name的声明与排序例子中lineptr的声明相同,是一个一维数组,数组的元素为字符指针。name数组的初始化通过一个字符串列表实现,列表中的每个字符串赋值给数组相应位置的元素。第i个字符串的所有字符存储在存储器中的某个位置,指向它的指针存储在name[i]中。由于上述声明中没有指明数组name的长度,因此,编译器编译时将对初值个数进行统计,并将这一准确数字填入数组的长度。

指针数组的初始化

标签:har   其他   style   存储   函数   return   类型   调用   指针数组   

原文地址:http://www.cnblogs.com/chengzhicc/p/6034838.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!