大量定义同类型数据的方法——数组

//第四章  数组
//数组是一组相同类型元素的集合,注意定义数组长度的一定要是常量
//int a = 10;
//int arr[a];//这种方法是错误的因为a还是一个变量,只是给它赋值了
////1.计算数组长度:
//int main()
//{
//	int arr[] = { 1,2,3,4,5 };
//	int sc = sizeof(arr) / sizeof(arr[0]);//数组总长度除以数组单个元素长度得到数组元素个数
//}
////2.一维数组在内存中的存储
//#include <stdio.h>
//#include<stdlib.h>
//int main()
//{
//	int arr[10] = { 0 };
//	int i = 0;
//	for (; i < sizeof(arr) / sizeof(arr[0]); ++i)
//	{
//		//C语言中%p用来输出指针类型自身的值,即用来输出地址
//		printf("&arr[%d]=%p\n", i, &arr[i]);
//	}
//	system("pause");
//	return 0;
//}
//观察输出结果,可以看到随着数组元素下标的增长,元素的地址递增。则可知,数组在内存中是连续存放的;

////3.二维数组的创建和初始化
//#include<stdio.h>
//#include<stdlib.h>
//int main()
//{
//	int a[3][4] = { 1,2,3,4 };//三行四列,这样赋值按照第一行从第一列开始赋值,若完了给第二行第一列赋值,直到赋值完,后面的元素
//	//全部为0;
//	int i = 0;
//	for (i = 0; i < 3; i++)
//	{
//		int j = 0;
//		for (j = 0; j < 4; j++)
//		{
//			printf("%d", a[i][j]);
//		}
//		printf("\n");
//	}
//	system("pause");
//	return 0;
//}

////4.二维数组的使用
//#include<stdio.h>
//#include<stdlib.h>
//int main()
//{
//	int arr[3][4] = { 0 };
//	int i = 0;
//	for (i = 0; i < 3; i++)
//	{
//		int j = 0;
//		for (j = 0; j < 4; j++)
//		{
//			arr[i][j] = i * 4 + j;
//		}
//	   }
//	for (i = 0; i < 3; i++)
//	{
//		int j = 0;
//		for (j = 0; j < 4; j++)
//		{
//			printf("arr[%d][%d]=%d\n", i, j, arr[i][j]);
//		}
//	}
//
//	system("pause");
//	return 0;
//}

////5.二维数组在内存中的存储
//#include<stdio.h>
//#include<stdlib.h>
//int main()
//{
//	int arr[3][4] = { 0 };
//	int i = 0;
//	int j = 0;
//	for (i = 0; i < 3; i++)
//	{
//		for (j = 0; j < 4; j++)
//		{
//			printf("&arr[%d][%d]=%p\n", i, j, &arr[i][j]);
//		}
//	}
//	system("pause");
//	return 0;
//}
////由此可以看出,二维数组的存储也是连续的

//***注意:
//关于数组元素的输入的一些注意事项
//C语言中用scanf函数输入字符串数组,取地址符的输入与否?
//int name[10]={0};
//(1)一般变量使用取地址符,是获取其地址,即为指向该变量的指针;
//(2)数组名就是数组的首地址,是指向该数组的第一个元素的指针,只不过是常量指针。所以在scanf("%d",name)时不需要再加上取地址符;
//(3)需要加取地址符的情况是表示对具体的哪个元素赋值:scanf("%d",&name[i]);并且,scanf("%d",&name[0])<-->scanf("%d",name).

//6.数组作为函数参数
//在我们写代码的时候,会将数组作为参数传给某个函数。此时我们只需要将数组元素的首地址传递过去就好啦,所以即使在函数参数部分写成
//数组的形式:int arr[]表示的依然是一个指针相当于:int* arr

//数组的应用实例1:三子棋


//数组的应用实例2:扫=扫雷游戏

猜你喜欢

转载自blog.csdn.net/ZhuiZhuDream5/article/details/83658610