数组的用法


1、为什么需要数组

为了解决保存大量同类型的数据 存储和使用;为了模拟现实世界

2、数组的分类

一维数组
怎样定义一维数组

为n个变量连续分配存储空间
所有的变量的数据类型必须相同
所有变量所占的字节大小必须相等

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

有关数组的操作:
初始化
完全初始化   
int[5] = {1,2,3,4,5}

不完全初始化  未被初始化的元素自动为零  
int[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}
int b[5]

如果把a数组中的值全部复制给b数组

错误写法:b = a;

正确写法: for(i = 0;i<5;++i)
b[i] = a[i];

赋值

排序

求最大/小值

倒置

查找


二维数组

int a[3][4]总共十二个元素 当做三行四列对待  这十二个元素的名字依次是

 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]  

初始化

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}
}

输出二维数组内容

 不存在多维数组:

 因为内存是线性一维的

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

 如:
 
 int a[3][4] 该数组是含有三个元素的一维数组 只不过每个元素都可以在分成四个小元素 

 int a[3][4][5] 该数组是含有三个元素的一维数组 只不过每个元素都是4行5列的二维数组


//数组的使用

#include<stdio.h>

void main()
{
	int a[5] = {1,2,3,4,5};  //这五个元素分别用a[0] a[1] a[2]  a[3]  a[4]表示
	int i;

	for(i = 0;i<5;++i)
		printf("%d\n",a[i]);
}

  



include<stdio.h>

void main()
{
	int a[5];

}

//把一个数组元素全部倒过来

#include<stdio.h>

void main()
{
	int a[8] = {1,2,3,4,5,6,7,8};

	int i = 0;
	int j = 7;
	int t;

	while(i<j)
	{
		t = a[i];
		a[i] = a[j];
		a[j] = t;

		i++;
		--j;
	}

	for(i =0;i < 8;++i )
		printf("%d\n",a[i]);
}

//二维数组的操作


#include<stdio.h>

void 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("%-5d  ",a[i][j]);  //-5表示左对齐五个符号
				printf("\n");

		}

	
}


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值