4---数组

1维数组

/***    一维数组   ***/
/*
	定义:
				1.为n个变量连续分配存储空间
				2.所有的变量数据类型必须相同
				3.所有变量所占的字节大小必须相等

	操作:
				1.初始化
				2.赋值
				3.排序
				4.求最大值/最小值
				5.倒置
				6.插入
				7.删除

*/

#include<stdio.h>
int main()
{
	int i;
	int a[5] = {1,2,3,4,5};              //完全初始化
	int b[5];

	for (i=0; i<5; ++i)
	{
		b[i] = a[i];                               //将数组a中的各个元素赋值给数组b
		printf("%d\n", a[i]);
	    printf("%d\n", b[i]);
	}
		
	return 0;
}
/*
		备注:
					1.	  int a[5];                                      //不初始化,所有元素是垃圾值,a为数组名,5为长度
					2.   int a[5] = {1,2,3};                     //不完全初始化,未被初始化的元素自动为零
					3.	  int a[5] = {0};                            //清零
					4.   a[5] = {1,2,3,4,5}                 //错误写法,只有在定义数组的同时才可以整体赋值,其他情况整体赋值都是错误的,这里的5代表的不是长度而是下标,编号是从0开始,没有到5
					5.	  b = a;                                        //错误写法,b和a分别代表两个数组第一个元素的地址
		反思:
					二维数组的相互赋值:不能直接赋值,利用for循环语句,逐一赋值
*/

                                                                    2维数组

/*
	时间:2018.03.10    10:33
	二维数组:
						1. int  a[3] [4];
						2. 输出数组内容
*/
#include<stdio.h>
int main()
{
	int a[3][4]={
							{1, 2, 3, 4},
							{5, 6, 7, 8},
							{9, 10, 11, 12}
	                    };
	int i,j;

	// 输出数组内容
	for (i=0; i<3; ++i)
	{
		for (j=0; j<4; ++j)
			printf("%d,", a[i][j]);        
		printf("\n");
	}

	return 0;
}
/*
	心得:
				二维数组不能直接输出,需要利用for循环语句,将每个元素,逐一输出
*/
多维数组

是否存在多维数组?
不存在

原因:内存是线性唯一的

        n维数组可以当做每个元素是n-1维数组的一维数组

猜你喜欢

转载自blog.csdn.net/erlang_juan/article/details/80258036