初学者-C语言基础练习(八)——C语言之多维数组


前言


有时候数组不止一维,像一个正方体,由长宽高,而不是一条直线。
在许多数据中,也不是单一的,对于这一类数据,我们就要用到多维数组来表示。

一、高维数组

定义一个二维数组的方法就是在一维数组定义的数组后面再加上一个方括号和维数说明。
如:float shuzu[3][8];

解析:这个数组可以看作3个连续的一维数组,每个一维数组具有八个元素。存储时,先存储第一个8个,第二行再是第二个8个,最后是第三个。这里我们可以举个例子来讲。
例子:

#include <stdio.h>
main()
{
	int array[3][3]={1,2,3,4,5,6,7,8,9};
	int i,j;
	for(i=0;i<3;i++)
	{
		for(j=0;j<3;j++)
		{
			printf("%3d",array[i][j]);
		}
		printf("\n");
	}
}

效果演示:
在这里插入图片描述
可以看出,二维数组是按行存储的。

当然还有三维数组,三维也就是立方体,如:int array[2][3][4];
这个数组的意思就是三维,怎么理解呢。先把前面两个数字当成二维数组,也就是一个平面,第三个数字就是往高处长,形成立方体,所能存储元素的个数就是234=24个。

二、字符串数组

上面说的是存放数值的,接下来说一下存储字符串的。

字符串数组

字符串数组其实也就是一个二维数组,因为他的一些特性,所以要来单独说。看代码:

#include <stdio.h>
main()
{
	char s[10][10];
	int i;
	for(i=0;i<10;i++)scanf("%s",s[i]);
}

分析:代码是没错的,字符串输入时可以不用加&。
还有一个,为啥我们只用一个一维数组来存放,不是说二维数组吗?这是因为字符串在内存里的地址可以用他的名字来表示,简而言之就是输入字符串时可以少一维。


总结

今天的多维数组基础也讲到这里,明天来讲讲字符串数组的其他问题。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

通信好难学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值