首页 > 其他分享 >数组初步认识和使用

数组初步认识和使用

时间:2022-10-22 22:37:52浏览次数:66  
标签:arr 下标 认识 元素 初步 int 数组名 数组

1.作用:可以同时储存多个数据(就是数据的组合)

2.数组的特点

a.可以储存多个数据,且只能储存相同类型的数据,有我们定义

b.数组中储存的个数是固定的,有我们自己定义。

3.如何声明一个数组

1)。先确定两点

a.确定存储多个数据的类型

b.确定这个数组能储存多少个数据

2)。语法

储存数据类型  数组名称[这个数组能够储存多少个数据];

int arr[3];

4.专业术语

a.元素:数组中的每一个小空间,就叫数组的元素

1).元素的本质是一个普通发变量,多个元素(变量)组成数组

(为数组赋值就是为数组中的变量赋值)

2).注意:为元素赋值时要使赋值数据类型和元素的类型一致

下标不能越界,否则会产生垃圾值(下标为0~n-1)

b.下标或索引:为区分元素,系统将每一个元素都标了下标

         号码从0开始依次递增。

c.长度:指数组中元素的个数,就是可以储存多少个数据

5.a.怎样往数组中储存数据

语法:数组名[数组下标]=数据;

arr[1]=10;   将10赋给arr数组中下标为1的元素。

b.这样取出储存在数组中的数据

语法:数组名[下标];

int num = arr[1];

注意不能越界。

#include<stdio.h>

int main()

{

int arr[3];//定义数组

arr[0] = 10;//为元素储存数据

arr[1] = 20;

arr[2] = 30;

int num1 = arr[0];//将数据取出

int num2 = arr[1];

int num3 = arr[2];

printf("%d%d%d\n", num1, num2, num3);

return 0;

}

c.使用遍历数组(可以将数据都列举出来)

#include<stdio.h>

int main()

{

int arr[3];//定义数组

arr[0] = 10;//为元素储存数据

arr[1] = 20;

arr[2] = 30;

for (int i = 0; i < 3; i++)//使用for循环将其遍历出来

{

arr[i];

printf("%d\n", arr[i]);

}

6.使用数组的时候要注意的问题。

1).关于数组的长度。

a.在声明数组的时候必须要指定数组的长度.

b.数组的长度可以是常量、变量、表达式(长度就是表达式的结果)、字符(长度就是其ASCII码).

c.数组的长度不能是1个小数,也不能是负数。

d.数组的长度可以是1.也可以是0 虽然这样是可以的 但是平时不会这么用。

e.数组的长度也可以是宏。宏值就必须是1个整数 #define len 10

2).关于数组的默认值

如果我们未给他赋值,则数组元素的值是一个垃圾值

3).关于数组的初始化

a.先声明数组,然后逐个赋值

 int arr[3];

 arr[0] = 10;

 arr[1] = 20;

 arr[2] = 30;

b.在声明数组的同时就初始化数组的数据

int arr[3] ={10,20,30};

使用这中方法不能使数组的长度为变量

例int len=3;

int arr[len]={10,20,30};

系统可能不知道数组的长度。

c.在使用第二种方式初始化的时候,可以省略数组的长度.

int arr[] =(10,20,30,2,12,1,21,2,13,12,3,24,3,543,5,4,65,6,56,4,523,3);这个时候,数组的长度就是由大括弧中的数据的个数来决定的.

大括弧中有多少个数据 那么数组的长度就是多少,

4),第四种初始化方式,只为数组的前面的元素赋值。

int arr[3] = (10);

这个时候,数组的第0个元素的值是10 其他的元素的值被自动初始化为0.

所以,如果我们要讲1个数组中的所有的元素初始化为0

就int arr[4]=(0);

5).第五种初始化方式。指定下标的初始化。

int arr[3]=([1]=10,[2]=20);

其他的元素的值就自动的初始化为0. 

7.a。数组在内存中的储存

int arr[3];

1).声明1个数组,

在内存中从高字节向低字节申请连续的(数组的长度*每1个元素的字节数)个字节的空间。

2).下标为0的元素在低字节。

3).元素的值存储的是数据的二进制的补码。

4).数组的元素的本质就是1个普通类型的变量.

1个数组就是由多个普通类型的变量联合而成的。

每1个元素就是1个普通变量。

b。数组的地址。

1).数组的地址是数组中最低字节的地址,

2).数组的地址是数组中下标为0的元素的地址.

3).数组的地址是数组中下标为0的元素的低字节的地址.

4).重点:

数组名就代表数组的地址.

C语言的数组名中存储的是数组的地址。

所以,我们不能直接打印数组名,这样得不到数组的元素的值,因为数组名中存储的是数组的地址。所以我们应该使用 %p 来打印数组名,用&取址。

数组的地址== 数组名==数组中的低字节的地址 ==数组中下标为0的元素的地址 ==数组中下标为0的元素的低字节的地址.

c。数组的长度计算。

1).数组的每一个元素的类型相同,所以数组的每一个元素占用的字节空间一样.

2).使用sizeof运算符 可以计算 数组总共占用的字节数。

sizeof(数组名);就可以得到这个数组占用的总的字节数。

3).得到数组占用的总的字节数以后,那么就可以用总的字节数除以每1个元素占用的字节数.就可以得到数组的长度。

sizeof(数组名)/每1个元素的字节数。就可以得到数组的长度.

也可以这样:

sizeof(arr)/ sizeof(元素类型);

sizeof(arr) / sizeof(arr[0]);

标签:arr,下标,认识,元素,初步,int,数组名,数组
From: https://blog.51cto.com/u_15809685/5786139

相关文章