黑马程序员技术交流社区

标题: C语言基础:一维数组 [打印本页]

作者: 956251361    时间: 2015-12-25 10:27
标题: C语言基础:一维数组
什么是数组
数组是有序数据的集合,在内存中是一段连续的存储空间。用来保存一组相同类型的数据。假如我们需要保存1~100这100个整数,如果用100个int变量保存太不方便,于是就有了数组。

一维数组。大家可以把一维数组理解为一组数字排成一列保存在内存中。

一维数组的定义
数据类型 数组名[常量];
例如:

int a[10];
这句话定义了一个长度为10的int型数组。它能够保存10个整数。

一维数组元素的引用
数组元素的引用形式如下:

数组名[下标]

这里需要区别于数组的定义形式,前面的“常量”表示数组长度,这里的“下标”指的是元素的个数。注意:下标是从0开始计算的。例如一个有10个元素的int型数组,下标范围是0~9。后面会具体说明。

一维数组的初始化
1. 定义时赋初值
int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
这句话定义了一个10个元素的int型数组,里面保存了10个数字。大括号中的10个数字就是数组a的初值。

注意,大括号中的数字个数可以小于数组长度。

2. 全赋值0
如果想在a[10]中保存10个0,有两种写法:

int a[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
int b[10] = {0};
数组a和b的内容相同。

3. 可以不指定长度
int a[] = {1, 2, 3, 4, 5};
这句话定义了一个长度为5的数组a,赋值1,2,3,4,5。

程序说明
数组的用法比较灵活,我们通过一段程序来了解具体怎么使用。

int main()
{
    int i;
    int a[10] = {0}; // 数组a赋值

    // 打印数组中的10个元素
    for (i = 0; i < 10; i++)
    {
        printf("%d ", a[i]);
    }
    printf("\n");

    // 数组a赋值为 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
    for (i = 0; i < 10; i++)
    {
        a[i] = i + 1;
    }

    // 打印数组中的10个元素
    for (i = 0; i < 10; i++)
    {
        printf("%d ", a[i]);
    }
    printf("\n");

    return 0;
}

需要注意的是,在利用下标访问数组a时,如果下标大于等于数组长度,系统会报错,叫做数组访问越界。这是必须要牢记的。

作者: holmesconan    时间: 2015-12-26 00:02
求指导 .我建一个 Q 群
作者: san_ss    时间: 2015-12-26 00:18
楼主说的好
作者: wx_000001    时间: 2015-12-26 08:51
写的很仔细啊
作者: 帝都    时间: 2015-12-26 09:02
赞赞赞,
作者: 帝都    时间: 2015-12-26 09:08
求指导,赞赞赞
作者: 周翔    时间: 2015-12-27 00:04
6666666666666不错 挺好
作者: tangtang.    时间: 2015-12-28 17:35
总结的挺好
作者: chensc    时间: 2015-12-28 20:46
学习学习!
作者: 精诚    时间: 2015-12-28 21:20
学习学习
作者: 注意背后    时间: 2015-12-28 23:18
学习学习,不错
作者: 明阳天夏    时间: 2015-12-29 13:43
总结的不错啊。。。。。。。

作者: holmesconan    时间: 2015-12-29 23:44
哈哈   顶起来啊




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2