所谓数组,是指将那些具有相同类型的、数量有限的若干个变量通过有序的方法组织起来的一种便于使用的形式。数组属于一种构造类型,其中的变量被称为数组的元素。数组元素的类型可以是基本数据类型,也可以是特殊类型和构造类型。
一位数组是最简单的数组类型,它的定义形式如下:
类型说明符 数组名[常量表达式]
类型说明符是数组中每个元素的类型,常量表达式是数组元素的个数
在使用一维数组的时候需要留意以下两个要点
下来我们通过一个简单的示例了解一下数组
代码如下:
#include<stdio.h>
#define N 9
int main(void) {
int arr[N];
int i;
for (i = 0; i < N; i++)
{
arr[i] = i + 1;
printf("arr[%d]=%d\t", i, arr[i]);
if (0 == (i+1)%3)
{
printf("\n");
}
}
return 0;
}
运行结果如下:
我们分析一下上面这段代码
我们定义了一个含有9个元素的一位数组arr,在引用数组中的元素时,采用"数组名[下标]
"的方式,将其中的每一个元素视为一个普通的变量来进行操作。需要注意的是,因为定义的数组arr仅含有9个元素,所以在使用的过程中,下标值不能超过8,否则就会出现下标越界的错误,示例如下:
在使用数组的时候要特别注意数组越界,不然很有可能为自己埋下一颗雷(bug)。
接下来我们我们通过一段代码看一下数组在内存中是如何存放的
#include<stdio.h>
#define N 4
int main(void) {
int arr[N];
int i;
for (i = 0; i < N; i++)
{
arr[i] = i;
printf("&arr[%d]=%d\n", i, &arr[i]);
}
return 0;
}
运行结果如下:
从结果我们可以看出,每个元素占用4个字节,在内用中的存储结构图如下:
最后我们再通过一个示例来巩固一下一维数组
需求:使用数组保存用户输入的数据,当输入完毕后逆向输出
代码如下:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#define N 5
int main(void) {
int arr[N];//定义数组
int i, temp;//定义变量
printf("请输入一个5个元素数组:\n");
for (i = 0; i < N; i++)
{
scanf("%d", &arr[i]);
}
printf("读取到的数组如下:\n");
for (i = 0; i < N; i++)
{
printf("%d ",arr[i]);
}
printf("\n");
for (i = 0; i < 2; i++)//将数组中元素的前后位置互换
{
temp = arr[i];
arr[i] = arr[4 - i];
arr[4 - i] = temp;
}
printf("输出的逆向数组如下:\n");
for (i = 0; i < N; i++)
{
printf("%d ", arr[i]);
}
return 0;
}
运行结果如下:
关于以为一维数组今天就介绍到这,后面继续更新。。。
【END】