c语言多维数组指针6,C语言-15:多维数组与指针

C语言-15:多维数组与指针

C语言中指针与数组的关系密不可分,同时C语言规定多维数组名也是一个指针,例如二维数组a[3][5],a[3]便是一个指针。那这又有怎样的应用呢?

C语言-15:多维数组与指针

C-Free

例:

1、打开C-Free,新建文件。

2

输入以下内容:

#include

main()

{

char stu[4][4][10];

int i,j;

printf("请输入4个项目

");

for(j=0;j<4;j++){

printf("项目%d:",j+1);

scanf("%s",stu[0][j]);

}

printf("请输入3个%s

",stu[0][0]);

for(j=1;j<4;j++){

printf("第%d个%s:",j,stu[0][0]);

scanf("%s",stu[j][0]);

}

for(i=1;i<4;i++)

for(j=1;j<4;j++){

printf("请输入%s的%s:",stu[i][0],stu[0][j]);

scanf("%s",stu[i][j]);

}

printf("情况如下:

");

for(i=0;i<4;i++){

for(j=0;j<4;j++)printf(" %s",stu[i][j]);

printf("

");

}

}

3

运行结果如图:

说明:

char stu[4][4][10];这里定义了一个三维的字符数组总共有4x4x10个元素,但是例中,最后一维即[10]是用来储存字符串的,因此一共有4x4个项目。

1【C语言-12】多个数据的统一化处理(数组)1【C语言-13】字符数组

在开始便提到过,对于二维数组a[3][5],a[3]是一个指针,因此stu[0][j]也是一个指针。

0【C语言-14】数据的门牌号——指针

我们还记得scanf函数里有一个&,这个&便是取地址的意识,故在scanf("%s",&word);中&word是个地址,因此当后面的变量本身就是一个指针时,便不需要加&了,如例中:scanf("%s",stu[0][j]); 便没有加&。

注意:在数组中,字符串是不可以存储到一个变量中的,字符串始终是以数组的`形式储存的,如以前提到过的

char word[10];

scanf("%s",&word); //见《【C语言-02】向系统输入内容文字(字符串)》

这个word其实就是一个数组。

0【C语言-02】向系统输入内容文字(字符串)

因此像例中一样,要输出一个二维的带字符串的项目,必须定义3维数组,如图:

【C语言-15:多维数组与指针】相关文章:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值