数组的定义和使用
数组是一种容器,常用于存储一些相同类型的元素,且一旦创建不能改变大小。
- 一般格式:
< 类型 > 变量名称 [ 元素数量 ];
列如:
int number [10]; Striing student[3]; .......
注意:元素数量必须是整数,且变量名称不能为关键字要满足命名规则。
2.数组的基本使用:
数组在内存中是连续存放的,在引用数组元素时,直接用数组名加上它的下标,本质是引用它的地址。下标范围为[ 0 , n - 1],其中n为数组元素个数。数组大小可用sizeof()操作符,以字节为单位。sizeof(数组名)即求的时整个数组的长度。
随着数组下标的增长,元素的地址,也在有规律的递增。
数组的初始化:
可以整体赋值
int number[5]={1,2,3,4,5};
也可以遍历每个元素赋值:
int number[5]; for(int i = 0; i < 5; i++) { scanf("%d",&number[i]); }
数组的遍历输出:
for(int i = 0; i<5;i++)
{
printf("number[%d] = %d\n",i,number[i]);
}
运行结果:
同样,二维数组及多维数组的使用类似,注意二维数组不可省略列下标,以及多维数组的遍历要用到循环嵌套来输出。
3.总结以及个人体会:
1. 定义和声明:通过指定元素类型和数组大小来定义数组。数组的声明告诉编译器变量的类型和名称,而定义则分配了实际的内存空间。
2. 连续内存分配:数组的元素在内存中是连续存储的,这使得数组具有随机访问的能力。可以通过索引值迅速访问和修改数组中的任何元素。
3. 固定大小:数组的大小在定义时确定,并且不能动态改变。因此,在使用数组时需要提前估计元素数量并设置合适的大小,以避免内存溢出或浪费。
4. 数组名即指针:数组名实际上是指向数组首元素的指针。可以通过数组名来访问和操作数组中的元素,也可以将数组名作为指针传递给函数,以便在函数中对数组进行修改。
5. 数组初始化:可以在定义数组时进行初始化。可以使用花括号初始化列表,也可以使用循环逐个赋值。初始化数组可以提高代码的可读性和效率。
6. 数组遍历:可以使用循环结构(如for循环、while循环)遍历数组中的元素。通过控制循环变量作为索引,可以逐个访问和处理数组中的元素。
7. 多维数组:C语言支持多维数组,例如二维数组和三维数组。多维数组实际上是数组的数组,可以使用嵌套的方括号进行定义和访问。
8. 数组的局限性:C语言数组具有一些限制。数组的大小必须在编译时确定,无法动态改变。同时,数组作为函数参数传递时,只传递了指针,无法直接获取数组的长度。