前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C语言数组——一维数组

C语言数组——一维数组

作者头像
C语言中文社区
发布2022-05-30 14:48:18
2.9K0
发布2022-05-30 14:48:18
举报
文章被收录于专栏:C语言中文社区

所谓数组,是指将那些具有相同类型的、数量有限的若干个变量通过有序的方法组织起来的一种便于使用的形式。数组属于一种构造类型,其中的变量被称为数组的元素。数组元素的类型可以是基本数据类型,也可以是特殊类型和构造类型。

一位数组

一位数组是最简单的数组类型,它的定义形式如下:

类型说明符 数组名[常量表达式]

类型说明符是数组中每个元素的类型,常量表达式是数组元素的个数

在使用一维数组的时候需要留意以下两个要点

  • 常量表达式的值必须是正整数
  • 数组元素的引用,数组的起始元素下标为0

下来我们通过一个简单的示例了解一下数组

代码如下:

代码语言:javascript
复制
#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;
}
代码语言:javascript
复制

运行结果如下:

我们分析一下上面这段代码

我们定义了一个含有9个元素的一位数组arr,在引用数组中的元素时,采用"数组名[下标]"的方式,将其中的每一个元素视为一个普通的变量来进行操作。需要注意的是,因为定义的数组arr仅含有9个元素,所以在使用的过程中,下标值不能超过8,否则就会出现下标越界的错误,示例如下:

在使用数组的时候要特别注意数组越界,不然很有可能为自己埋下一颗雷(bug)。

接下来我们我们通过一段代码看一下数组在内存中是如何存放的

代码语言:javascript
复制
#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;
}
代码语言:javascript
复制

运行结果如下:

从结果我们可以看出,每个元素占用4个字节,在内用中的存储结构图如下:

最后我们再通过一个示例来巩固一下一维数组

需求:使用数组保存用户输入的数据,当输入完毕后逆向输出

代码如下:

代码语言:javascript
复制
#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;
}
代码语言:javascript
复制

运行结果如下:

关于以为一维数组今天就介绍到这,后面继续更新。。。

END

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-01-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 C语言中文社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一位数组
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档