首页 > 代码库 > 数组之一二三维

数组之一二三维


1,数组是什么?

2,一数组和多维数组的定义以及声明使用?
3,如何声明和初始化数组?


数组是一组数据存储位置,其中每个位置的名称相同,存储的数据类型也相同。
数组横纵的数据存储位置被称为数组元素。
一位数组只有一个下标。下标是数组名后面位于方括号中的数字,可用于指出数组中各个元素的编号。


注意:
  数组元素从0开始编号,最后一个元素的编号比数组包含的元素少1。

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>


int  main(void)
{
	float expenses[13];
	int count;//定义在外面,方便公用
	//对数组进行赋值
	printf("请输入13个浮点元素:\n");
	for (count = 0; count < 13; count++)
	{
		scanf("%f",&expenses[count]);

	}

	//输出数组横纵的元素
	printf("数组的元素:\n");
	for (count = 0; count < 13; count++)
	{
		printf("%d=%.2f\n",count+1,expenses[count]);
	}

	system("pause");
}


运行结果:




多维数组:
多维数组有多个小标。二维数组有两个下标,三维数组有三个下标,以此类推。
在C语言中,对数组的维数没有限制,但对数组的总长度是有限制的。


声明数组:
声明数组时可以初始化数组的部分元素或所有元素,只需要在数组声明的后面

加上等号和一系列的值,用花括号将这些值括起来,并使用逗号将它们分开即可。


#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>


int  main(void)
{

	int array[4] = {10,20,30,40};
	//等价于
	int array1[] = { 10, 20, 30, 40 };
	
	//这样也是可以的,不过没有被初始化的数组元素会被给默认值0
	int array2[4] = { 10, 20}; 

	//初始化多维数组
	int array3[4][3] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 };
	//等价于
	int array4[4][3] = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 }, { 10, 11, 12 } };
	

	//初始化三维数组
	int random_array[3][3][3];
	int a, b, c;
	
	for (a = 0; a < 3; a++)
	{
		for (b = 0; b < 3; b++)
		{
			for (c = 0; c < 3; c++)
			{
				random_array[a][b][c] = rand();
			}
		}
	}
	
	//输出三维数组中的值
	for (a = 0; a < 3; a++)
	{
		for (b = 0; b < 3; b++)
		{
			for (c = 0; c < 3; c++)
			{
				printf("\nrandom_array[%d][%d][%d]=%d",a,b,c,random_array[a][b][c]);
			}
		}
	}
	system("pause");
}

}


运行结果: