C语言第五步:数组

1.什么是数组?

在之前的博客的代码演示里面就有着许多的数组。那么到底什么是数组呢?数组本质上其实就是相同类型的变量的集合。

2.数组的声明(使用数组前的准备)

数组的声明包含指定元素类型、变量名、元素个数 。让我们来写个存储20个整型数据的数组举例

元素类型  int 变量名 arr 元素个数 [20]——>int arr[20]

需要注意的一点就是在C环境下,数组不支持变长数组,也就是说数组的元素个数必须是常量。

3.访问数组(数组的使用方法)

在C语言学习系列第三步的操作符中,我们曾讲到【】操作符,而这个恰好是作为数组下标运算符用来访问数组的元素。比如,我们要访问上数组中的第十个元素:

printf("%d",arr[9])

可以看到访问第十个元素,但为什么里面写的是九呢?因为我们是通过下标来访问,【】中的数称为下标。下标表示为首元素后的第几个元素,而不是数组中的第几个元素。也可以记忆为下标从0开始往后数。 注意是在访问过程里不要越界,比如访问-1位置或者超出元素个数的位置。

4.遍历数组

按照顺序逐个查看元素的方法被称为遍历。

#include <stdio.h>
int main()
{
int arr[5]={1,2,3,4,5};
for(int i=0;i<5;i++)
{
printf("%d",arr[i]);
}
return 0;
}

5.数组初始化

数组初始化被我简单分为三种:

5.1标准初始化

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

标准初始化意思就是对声明的每个数组里的元素赋予初值。

5.2自动生成元素个数初始化

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

由上述代码块观察,当我们不给定初始元素个数,数组会根据初始值的个数来确定元素个数

5.3用0来初始化 

int arr[5]={1.2};

这种是将剩下三个元素用零初始化

int arr[5]={0}; 

这种是用0初始化全部元素 

6.输入数组的值

从键盘输入则需要我们第一节讲过的scanf函数和第三节讲过的取地址符配和读取。

#include <stdio.h>
int main()
{
int arr[5]={0};
for(int i=0;i<5;i++)
{
scanf("%d",&arr[i]);
}
return 0;
}

7.多维数组

多维数组意思很简单就是多个数组集合在一起形成的数组。比如二维数组就是以一维数组为元素的数组,二维以上的统称为多维数组。

二维数组其实就像一个矩阵,各元素纵横排列。拿个4行3列的例子,其书写形式

a【4】【3】

也就是说这是一个包含四个一维数组的数组。行代表一维数组个数,列代表一维数组元素个数。

二维数组的元素:a【0】、a【1】、a【2】、a【3】

而一维数组的元素则被称之为二维数组的构成元素。

其实无论是一维数组还是多维数组在内存中都是连续存储的。

来讲讲二维数组初始化,我将其分为4种:

7.1标准初始化

#include <stdio.h>
int main()
{
int arr[2][4]={{1,2,3,4},{5,4,3,2,};
return 0;
}

 标准的意思就是对其元素个数和构成元素个数声明清楚,并且赋予初值时带上括号,表示一个元素。

7.2一行不满列数

#include <stdio.h>
int main()
{
int arr[2][4]={{1,2,4},{5,4,3,2,};
return 0;
}

 观察上图,当一行列数未满时,默认剩余元素为0

7.3不规定行数

这个是要注意的,二维数组可以不规定行数,但必须给一定列数,当一行列数满后,自动换行,由初值决定行数

7.4对每行不用大括号 

若对每一行元素不用大括号括住,则按序满一行自动换行

8.留个小尾巴

其实数组这部分还有一些难点,比如数组传参、数组名性质,但这需要和函数结合起来阐述,所以留在下一篇超长博客里面讲解。大家要在看后做一些简单的习题更好掌握数组这块知识

数组复制

数组逆序

数组查值 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值