四、C语言-数组

三、C语言-运算符
四、C语言-数组

1.为什么需要数组

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

2.数组的分类

一维数组

如何定义一维数组

为n个变量分配连续存储空间
所有的变量的数据类型必须相同
所有变量所占的字节大小必须相等
例:
int a[5];
一维数组名不代表数组中的所有元素
一维数组名代表数组第一个元素的地址

有关一维数组的操作
初始化
  • 完全初始化

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

  • 不完全初始化

Int a [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;
没有a[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];

总共是12个元素,可以当做三行四列看待,这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[3][4]={
{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}
};
选中文本,Shift+tab键将文本向前移动

  • 二维数组的常见算法

对二维数组排序
求每一行的最大值
判断矩阵是否对称
矩阵的相乘

多维数组

是否存在多维数组

不存在,内存是线性一维的

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

比如:int a[3][4];
该数组是由含有三个元素的一维数组,只不过每个元素都可以再分成四个小元素。
Int a[3][4][5]
该数组是含有是三个元素的一维数组,只不过每个元素都是四行五列的二维数组。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值