干货丨C语言中数组定义方式

一、数组简介

<1>前言

大家首先来思考一个问题,若是我们想要定义两个变量,求这两个数的平均数,该怎么求呢?

例如:int a = 10,b = 20

int average = (a + b) / 2;

上面的公式,我相信大家应该很快就能够求出来。

若是,我们想要定义5个变量,求他们的平均值呢?

我们是不是要这么写?

Int a = 1,b = 2,c = 3,d = 5,e = 5;

我相信这样写,大家应该也能求出来。不过,大家这个时候,应该会感觉到比较麻烦了,我们定义了太多的变量了。若是我们要求100个变量的平均数的话,那么岂不是我们要定义100个变量。这样,我想要是没有耐心的同学,肯定早就不干了吧!因此,我们聪明的程序员提出来一个叫做数组的概念。 

<2>数组的概念

数组:我们把相同数据类型变量的集合称为数组。

<3>定义方式

数据类型  变量名[数组元素的个数]

例如:int a[5];//我们定义了5个int类型的元素。

<4>内存中的排序

int a[5];

由上图,我们可以看出:

<1>数组中共有5个元素,a[0],[1],a[2],a[3],a[4]

<2>数组的第一个下标为0,最后一个下标为数组元素个数-1

<3>数组中每个成员的大小:数组组中每个成员的大小,取决于数组元素的数据类型,此时数组成员的大小:4byte(一个int类型大小)

<4>整个数组的大小=一个数组成员的大小*数组元素的个数

即:4 * 5 = 20;

或者 sizeof(数组名),可得数组的大小

注意:数组的数组名标示数组首元素的首地址。

以int a[5]为例, 数组首元素为a[0],则它的地址为&a[0],故a 其实标示了&a[0].

思考:我们怎么理解a[0],a[1],a[2],a[3]?

a<===>&a[0]

a[0] =====>表示数组名a没有偏移,然后去对应地址中的数据。

a[1]======>表示a偏移了一个地址 1 个数组元素数据类型的大小,然后取该地址中的数据

a[2]======>表示a偏移了一个地址 2个数组元素数据类型的大小,然后取该地址中的数据

实例代码:

运行结果:

 

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java 数组是存储相同类型数据的集合,它们具有固定大小并且在创建后大小不可更改。在Java数组通过声明和初始化来创建。声明数组的语法形式如下: ```java int[] arr; // 声明了一个 int 类型的数组 ``` 在声明数组之后,需要通过初始化该数组,也就是为数组分配内存和赋初值。初始化数组方式有两种:静态初始化和动态初始化。静态初始化是在声明数组的同时给数组元素赋初值的方法,语法形式如下: ```java int[] arr = {1, 2, 3, 4, 5}; // 静态初始化数组 ``` 动态初始化是在声明数组后通过循环或用户输入等方式数组元素赋值的方法,语法形式如下: ```java int[] arr = new int[5]; // 动态初始化数组 for (int i = 0; i < arr.length; i++) { arr[i] = i + 1; } ``` Java 数组还具有一些常用的属性和方法,如`length`属性用来获取数组的长度,`clone()`方法用来复制数组,`toString()`方法用来将数组转换为字符串等。 除了一维数组外,Java 还支持多维数组,如二维数组、三维数组等。多维数组的声明和初始化方式与一维数组类似,只是需要使用多个`[]`来表示维度。 值得注意的是,Java 数组是引用类型,因此在传递数组参数时,实际上传递的是数组的引用,而不是数组的副本。这意味着在方法数组的修改会影响到原数组。 总的来说,了解和掌握 Java 数组的声明、初始化、属性和方法,并能灵活运用,对于 Java 编程是非常重要的。希望本文能够为大家提供关于 Java 数组的全面解析和干货知识。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值