数组

一·一维数组

一维数组的定义:

定义一个数组,需要明确数组的变量名,数组的元素的类型以及数组的大小(即数组中元素的数量)

一般形式为:类型名 数组名【数组长度】。

类型名称指数组中元素的类型,而数组长度是一个整形常量表达式。数组的长度是一个常量,即当数组的起始地址确定时,数组内的任意元素的地址都能够通过计算得到。

而数组名是一个数组所分配到的连续储存空间中的首地址,因此其是一个地址常量,不能够被改变。

一维数组的引用:

C语言规定,一次只能引用单个数组元素,而不能一次引用整个数组。

数组的引用要指定下标,形式为:数组名【下标】。

下标的合理取值范围为【0,数组长度-1】。

注:在编程时下标不能越界,一旦发生越界,数据就会溢出而造成严重后果。

一维数组的初始化:

一般形式为:类型名 数组名【数组长度】={初值表}。

一维数组的使用:

例:选择法排序

#include <stdio.h>
int main()
{
int a[1000];
int n;
int t, k;
scanf("%d", &n);
for (int i = 0; i < n; i++)
scanf("%d", &a[i]);
for (int i = 0; i < n - 1; i++)
{
k = i;
for (int j = i + 1; j < n; j++)
{
if (a[j] > a[k])//找到数组内最大值对应的下标
k = j;
}
t = a[k];//将最大值与数组内下标为i的元素交换值
a[k] = a[i];
a[i] = t;
}
for (int i = 0; i < n; i++)
{
printf("%d ", a[i]);
}
return 0;
}

分析:

在未排序的数组的n个数中,先找到最小的元素使其与a【0】交换,再在剩下的n-1个数中找到最小数使其与a【1】交换,以此类推即可将数组排序。

二·二维数组

定义:

二维数组定义的一般形式:

类型名 数组名【行长度】【列长度】。

引用:

引用二维数组需要两个下标,即行下标和列下标,形式为:

数组名【行下标】【列下标】。

行下标合理取值范围:【0,行长度-1】,列下标合理取值范围:【0,列长度-1】。

二维数组的初始化:

1·分行赋值法

一般形式为:

类型名 数组名【行长度】【列长度】={{初值表0},···,{初值表k},···,}。

2·顺序赋值法

一般形式:

类型名 数组名【行长度】【列长度】={初值表};

即将初值表中数据依次付给元素。

 

posted @ 2021-10-23 19:54  555666789yj  阅读(522)  评论(0编辑  收藏  举报