一、数组
(一)一维数组
1.数组:一组同类型数据的集合
2.物理结构
(1)元素位置连续
(2)元素大小相同
3.数组指针与指针数组
(1)数组指针:本质是指针,指向整个数组的首地址 (*p)[]
(2)指针数组:本质是数组,数组中的元素是指针 *p[]
4.数组作为函数参数:传入数组名(数组首地址),使用指针访问
(二)多维数组
1.二维数组
(1)在逻辑上是多维的,在物理内存上还是线性存储
(2)可以使用数组指针指向多维数组的首地址
(三)数组操作
1.数组的创建
#include <stdio.h>
int main()
{
/* Write C code in this online editor and run it. */
int i = 0,j = 0;
//一维数组与一维数组指针
int array1[3] = {0,1,2};
int *p1 = array1;
for(i = 0;i < 3;i++)
printf("%d ",*(p1+i));
printf("\n");
//二维数组与二维数组指针
int array2[2][3] = { {0,1,2},{3,4,5} };
int (*p2)[3] = array2;
for(i = 0;i < 3;i++)
printf("%d ",(*p2)[i]);
printf("\n");
//三维数组与三维数组指针
int array3[2][2][3] = { { {0,1,2},{3,4,5}},{ {6,7,8},{9,10,11} } };
int (*p3)[2][3] = array3;
for(i = 0;i < 2;i++)
for(j = 0;j < 3;j++)
printf("%d ",(*(p3+1))[i][j]);
return 0;
}
2.数组元素查找
(1)直接通过数组元素下标访问
(2)遍历访问