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时,如果下标大于等于数组长度,系统会报错,叫做数组访问越界。这是必须要牢记的。

请大家仔细学习这段代码,力求熟练掌握。一维数组的使用会贯穿于后面的例子,这里就不过多讲解了。

课后练习

字符串数组拼接练习。

有两个字符数组a和b,请把它们拼接成一个新的字符串保存在字符串c中,并打印出来。

int main()
{
    int i;
    char a[] = {'a', 'b', 'c', 'd', 'e'};
    char b[] = {'f', 'g', 'h', 'i', 'j'};
    char c[10];

   // -----------------------


   // -----------------------

   for (i = 0; i < 10; i++)
   {
       printf("%c ", c[i]);
   }

   return 0;
}

上面给出了一个代码片段,请在两行横线中写出拼接代码,使得最终输出结果为:a b c d e f g h i j

我是天花板,让我们一起在软件开发中自我迭代。
如有任何问题,欢迎与我联系。


上一篇:C语言从零开始(十一)-循环while语句
下一篇:C语言从零开始(十三)-字符串与字符数组

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 数组在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来。这些按序排列的同类数据元素的集合称...
    朱森阅读 4,085评论 2 13
  • 计算机二级C语言上机题库(南开版) 1.m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平...
    MrSunbeam阅读 6,523评论 1 42
  • 指针是C语言中广泛使用的一种数据类型。 运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构; ...
    朱森阅读 3,533评论 3 44
  • 谨记 每个人心中都有一片海,自己不扬帆,没人帮您启航,久了就是一片死海。人生,就是一场自己与自己的较量:让积极打败...
    长风留言阅读 8,059评论 6 10
  • 也不知道从什么时候开始,一部部以青春为主题的电影被搬上荧幕。曾经的我们看着的那些脸摇身一变成了导演,与此同时,他们...
    西风十三刻阅读 296评论 0 2