c语言指针数组编程,C语言的指针数组

本文详细解释了如何在C程序中使用静态字符指针数组month_name()实现返回指定月份名称的功能,包括数组声明、指针概念和动态查找。通过实际代码展示了如何初始化和处理数组元素,以及编译器如何确定数组长度。
摘要由CSDN通过智能技术生成

声明: char *lineptr[MAXLINES]

它表示lineptr是一个具有MAXLINES个元素的一維数组,其中数组的每一个元素是一个指向字符类型对象的指针,也就是说,lineptr[i]是一个字符指针,而*lineptr[i]是该指针指向的第i个文本行的首字符.

例:指针数组的初始化(摘自C程序设计)

编写一个函数month_name(n),它返回一个指向第n个月名字的字符串的指针(这也是内部static类型数组的一种理想应用)

程序如下:

#include

#include

#include

char *month_name(int n)

{

static char *name[13] = {

"Illegal month",

"January", "February", "March",

"April", "May", "June",

"July", "August", "September",

"October", "November", "December"

};

return (n < 1 || n > 12) ? name[0] : name[n];

}

int main()

{

int mon;

char *monthname;

printf("please input the month name :\n");

scanf("%d", &mon);

monthname = month_name(mon);

printf("%s\n", monthname);

return 0;

}

其中name的声明是一个一維数组,数组的元素为字符指针,第i个字符串的所有字符存储在存储器中的某个位置,指向它的指针存储在name[i]中,由于上述声明中没有指明数组name的长度,因此,编译器编译时将对初值个数进行统计,并将这一准确数字填入数组长度.0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值