数组,顾名思义可以理解为多个数字的组合,隶属于线性表中的顺序存储结构,在C语言中的绝大部分领域中都要用到数组,
数组的特点是:查询快,增删慢,正好与链表相反,查询快是因为他地址连续,增删慢是因为每次改动都要有大量数据移动。
数组的定义
int main(){ //主函数
int arr[4]; //定义一个名称叫做arr的数组长度为4
}
在函数中直接int定义一个数组,起个名字加个中括号里面填长度
数组的插入
int j;
for(i=0;i<4;i++){
scanf("%d",&arr[i];);
}
很简单的数组写入数据,利用scanf输入,再用&符号得到arr[i]的地址,往里面for循环输入
数组的遍历
int i;
for(i=0;i<4;i++){
printf("%d",arr[i]);
}
和插入类似,只不过scanf变成了printf输出函数,通过for循环输出数组内数据
数组的查询
int a; //这是我们为需要查询的数据留的位置
scanf("%d",&a); //键盘录入我们要查找的数据
int i;
for(i=0;i<4;i++){
if(arr[i]==a){ //判断数组中有没有要查找的元素
printf("数据存在");
}else{
printf("数据不存在"}
这就是使用了if判断,看看数组中是否存在该数据
总结:
一维数组的创建和初始化:数组的意思是一组相同类型的集合;
typt_t arr_name [const_n];
//typt_t 是指数组的元素类型
//const_n 是一个常量表达式,用来指定数组的大小
例如: int arr[10] = {0}; //意思就是创建一个整型 名叫arr 并包含有10个元素的数组,等于0 就是将它里面的元素全部初始化为0。
二 . 一维数组的使用:对于数组我们都只有有一个操作符: [ ] ,下标引用操作符,就用它来访问数组之中的元素。
三 . 一维数组的存储:那么一维数组在内存中是怎么存储的呢?经过试验我们可以知道,随着数组下标的增长,元素的地址,也在有规律的递增。由此我们可以知道:数组在内存中是连续存放的。
四 . 一维数组的指针访问:我们知道数组名其实就是数组首元素的地址,数组名+整数 就可以获取数组每个元素的地址,
那么我们就可以得到 arr[i] = *(p_arr + i)。