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