数组(举例详解)

作者 : admin 本文共1321个字,预计阅读时间需要4分钟 发布时间: 2024-06-16 共1人阅读

1.一维数组的创建和初始化

数组(举例详解)插图

有了变量就可以存放数值了

存放几个数值可以

但是存放一百个呢?这时候就出现了数组

1.1数组的创建

数组是一组相同类型元素的集合。

数组的创建方式:

type_t   arr_name      [const_n]

type_t    是指数组的元素类型

arr_name   是指数组名

const_n    是一个常量表达式,用来指定数组的大小

数组(举例详解)插图(1)

说明可以放一百个元素 每个元素的类型都是整型

数组(举例详解)插图(2)

可以输入来指定arr数组的大小

数组(举例详解)插图(3)

说明VS不支持C99中的变长数组

const可以吗?

const是常变量,常变量是变量还是常量?

是变量。是变量就不能放在[  ]里,除非编译器支持变长数组

const在c++里是常量 在C语言里是常变量,也就是变量。

数组(举例详解)插图(4)

1.2数组的初始化

数组的初始化是指,在创建数组的同时给数组的内容一些合理初始值(初始化)。

变长数组是不支持初始化的

完全初始化 不完全初始化

数组(举例详解)插图(5)

不完全初始化 初始化一部分,其他元素默认初始化为0

数组(举例详解)插图(6)

数组(举例详解)插图(7)

给数组初始化的时候可以不指定数组大小

如果初始化数组没有给定大小 数组大小根据初始化内容来确定大小的

数组(举例详解)插图(8)

如果数组不初始化为随机值

数组(举例详解)插图(9)

数组(举例详解)插图(10)

数组(举例详解)插图(11)

数组(举例详解)插图(12)

数组(举例详解)插图(13)

数组(举例详解)插图(14)

这两种形式都可以初始化数组

数组(举例详解)插图(15)

arr中有四个元素

arr1中有三个元素

数组(举例详解)插图(16)

数组(举例详解)插图(17)

如果把这两个数组初始化 arr数组额外填了一个\0

arr1数组额外填了两个\0

这两种方式是一模一样的

b的ASCII码值为98

全局变量 和 静态变量static不初始化也为0

数组(举例详解)插图(18)

数组(举例详解)插图(19)

1.3一维数组的使用

int main()
{
    int arr[100] = {1,2,3,4,5,6};
    return 0;
}

如果我们想要拿到五该怎么做?

数组元素 下标从0开始的

数组(举例详解)插图(20)

数组(举例详解)插图(21)

为什么能访问到5呢 ?

其实用了[ ]操作符 [ ]为下标引用操作符,arr ,4 是[ ] 的两个操作数

什么是操作数? 例如: 2+3 2是+的左操作数 3是+的右操作数

如果想创建一个大小为100每个元素都是整型的数组,把他们初始化为1~100,一个一个输入很麻烦,这时候怎么办?

这时候需要写代码去赋值1~100

数组(举例详解)插图(22)

这里的100很固定,不好修改

数组(举例详解)插图(23)

为什么是400?

100个元素每个元素是整型4

数组(举例详解)插图(24)

每个元素是四个字节

用总元素字节个数/每个元素的字节个数得到有多少元素

数组(举例详解)插图(25)

这样数组里有多少元素 不用手动再修改程序中的值了

把数组大小改成200也一样

数组访问 不能一个整体去访问 而是需要一个一个元素去访问 如果要访问需要用到下标引用操作符

有同学会提问不是不能用变量吗

arr[ i ] 中的i怎么用了变量

弄混淆了

数组创建的时候int arr[ ]= {0} , arr [ ] 里不能使用变量,但也只是不支持C99中变长数组才不能使用变量 支持C99中变长数组可以使用变量

下面代码arr[ i ] 是在访问一个元素 不是在创建数组, 这里使用是可以的

这两个要区分开 不要混淆

int i = 0;
for(i = 0;i<sz;i++)
{
    printf("%d",arr[i]);
}

总结:

1. 数组是使用下标来访问的,下标是从0开始。

2. 数组的大小可以通过计算得到。

1.4一维数组在内存中的储存

数组(举例详解)插图(26)

数组(举例详解)插图(27)

数组(举例详解)插图(28)

一维数组在内存中连续存放的!

随着数组下标的增长,地址是由低到高变化的

数组(举例详解)插图(29)

一维数组连续存放的特点 使得我们可以通过下标来访问数组,也可以通过指针来访问数组

数组(举例详解)插图(30)

结论:

随着数组下标的增长,元素的地址,也在有规律的递增。

由此可以得出结论:数组在内存中是连续存放的。

本站无任何商业行为
个人在线分享 » 数组(举例详解)
E-->