数组的基本用法

数组的基本用法:

数组的定义:

储存数据类型相同的一系列元素。

为什么需要数组?

为了解决大量同类型数据的存储和使用问题,为了模拟现实世界。

分类:

分为一维和二维以及多维。

一维数组:

定义:

为n个变量连续分配存储空间

格式:  类型 数组的名称 [数组元素的个数]

注意:

1.一维数组名不代表数组中所有的元素,一维数组名代表数组第一个元素的地址。

2. 数组的名称不代表数组,只有数组的名称[]才代表数组,a代表的是数组第一个元素的地址。

3. 所有的变量数据类型必须相同,所有变量所占的字节大小必须相等。

4.数组元素是从0开始的,如int a[5]中的五个 元素为 a[0],a[1]………a[4],没有a[5]。数组 第一个元素是从0开始的。

初始化:

完全初始化:

       int a[5] = {1,2,3,4,5};

       不完全初始化,未被初始化的元素自动为零

              inta[5]={1,2,3};

       不初始化,所有元素是垃圾值

              int a[5] ;

       清零

              int a[5] = {0}        

注意:

  1. 只有在定义数组的同时才可以整体赋值,其他情况下整体赋值都是错误的。      
  2. 数组的输出可以通过for循环的方式实现。    

二维数组:

例子:int a[3][4] = {

                                   {1, 2,  3,   4},                                 

                                   {5, 6,  7,   8},

                                   {9, 10, 11, 12}

                            };           

总共是12个元素,可以当做3行4列看待,这12个元素的名字依次是

              a[0][0] a[0][1] a[0][2] a[0][3]

              a[1][0] a[1][1] a[1][2] a[1][3]

              a[2][0] a[2][1] a[2][2] a[2][3]

              a[i][j]表示第i+1行第 j+1列的元素

              int a[m][n]; 该二维数组右下角位置的元素只能是a[m-1] [n-1]

二维数组可以看成是一个平面,int a[3][4]可以看成三行四列。

      

初始化:

与一维数组一致。

多维数组:

是否存在多维数组,不存在,因为内存是线性一维的,n维数组可以当做每个元素是n-1维数组的一维数组。

比如:

int a[3][4];

              该数组是含有3个元素的一维数组

              只不过每个元素都可以再分成4个小元素

int a[3][4] [5] ;

              该数组是含有3个元素的一维数组

              只不过每个元素都是4行5列的二维数组     

# include <stdio.h>
/*
时间;2021年10月19日09点40分 
目的;总结数组的用法 
*/
int main (void)						//数组分为一维数组,二维和多维。 

{	/*  为什么我们需要数组? 
		为了解决大量同类型数据的存储和使用问题,为了模拟现实世界。 
	*/ 
	//一维数组 												
	//定义;为n个变量连续分配存储空间
	//所有的变量数据类型必须相同
	//所有变量所占的字节大小必须相等 	
	int a[5]={1,2,3,4,5};			//a是数组的名字,5表示 数组元素的个数,并且这5个元素分别用a[0]  a[1] .....a[4]
	int i;							//数组元素是从0开始的,int a[]定义该数组,而a[]代表第几项。 
			
	for (i=0; i<5; ++i);			//a不代表数组,只有a[]才代表数组,a代表的是数组第一个元素的地址 
		printf("%d\n", a[i]);
									//一维数组名不代表数组中所有的元素,
									//一维数组名代表数组第一个元素的地址	
	printf("%d\n", a[100]);			
/*
初始化; 												 											
	完全初始化
		int a[5] = {1,2,3, 4, 5};
	不完全初始化,未被初始化的元素自动为零
		inta[5]={1,2,3};
	不初始化,所有元素是垃圾值
		int a[5] ;
	清零
		int a[5] = {0}								

错误的写法;
int a[5]; 
a[5] = {1,2,3, 4,5}; //错误
只有在定义数组的同时才可以整体赋值,
其他情况下整体赋值都是错误的

int a[5] = {1,2,3, 4, 5};
a[5] = 100; //error 因为没有a[5]这个元素,最后一个元素为a[4] 
									
int a[5] = {1,2,3, 4, 5};
int b[5];
如果要把a数组中的值全部复制给b数组
	错误的写法:
		b = a;// error
	
	正确的写法:
		 for(i=0; i<5; ++i)
		 	b[i] = a[i]; 
*/ 
						
	return 0 ;
} 
# include <stdio.h>
/*
时间:2021年10月19日10点13分 
目的;总结数组的用法 
*/
int main (void)

{
	//二维数组 
	int a[3][4] = {
					{1, 2,  3,   4},					//数组的输出可用for循环实现 
					{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");

/*
int a[3][4] ;
总共是12个元素,可以当做3行4列看待,这12个元素的名字依次是
		a[0][0] a[0][1] a[0][2] a[0][3]
		a[1][0] a[1][1] a[1][2] a[1][3]
		a[2][0] a[2][1] a[2][2] a[2][3]
		a[i][j]表示第i+1行第 j+1列的元素
		int a[m][n]; 该二维数组右下角位置的元素只能是a[m-1] [n-1]

初始化
		int a[3][4] = {1,2,3, 4,5,6, 7, 8,9, 10, 11, 12} ;
		int a[3] [4] = {
		{1,2,3,4},
		{5,6,7,8},
		{9,10, 11, 12}
		};





 

*/ 
	
	return 0 ;
}
# include <stdio.h>
/*
时间:2021年10月19日10点13分 
目的;总结数组的用法 
*/
int main (void)
{
/*	
多维数组
是否存在多维数组
不存在
因为内存是线性一维的
n维数组可以当做每个元素是n-1维数组的一维数组
比如:
int a[3][4];
		该数组是含有3个元素的一维数组
		只不过每个元素都可以再分成4个小元素
int a[3][4] [5] ;
		该数组是含有3个元素的一维数组
		只不过每个元素都是4行5列的二维数组	
			
	
	
	
*/	
	return 0 ;
 } 

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值