C语言基础

    返回首页    发表留言
本文作者:李德强
          第一节 简单数组
 
 

        本节我们将一起来学习关于数组相关的知识。在第一章中我们已经简单的学习过定义数组和使用数组,在本章我们将学习数组的详细内容,并与数组结合学习指针的概念与应用。

       我们首先来看一看数组的定义,看下面例子其中其实定义数组与定义普通型变量没有什么区别定义一个变量时只是将这个变量只是向系统申请了一个变量,而定义数组则是相当于向系统申请了多个连续 变量,例如:

short array[5] = { 5, 6, 7, 8, 9 };

        这样,我们就定义了5个连续的变量,这些变量的类型都是short型的,而且在内存中这些变量的位置都是连续的,例如下图:

        其中这些变量的值就是大括号里面我们定义的值5、6、7、8、9。使用大括号对数组进行赋值的过程叫作数组的初始化。注意,数组的初始化只能用在数组的定义时,而不能用在定义之后。例如,下面的作法是错误的:

short array[5];
array = { 5, 6, 7, 8, 9 };

        在对数组初始化之后我们就可以使用数组中的变量了,在定义数组时,数组变量后中括号中的数字表示这个数组的总大小。在使用数组时可以使用数组名[下标]的方式来使用数组变量。例如,上面例子中我们定义了一个具有5个元素的数组,那么我们就可以这样来使用它们:

array[0] = 11;
array[1] = 12;
array[2] = 13;
// ...

         可以看到,我们使用数组的下标来使用数组中的元素变量,其实,每一个数组名[下标]就表示一个数组元素。注意:在C语言中是多数的编译器是不会校验其下标的范围的。例如,在上面例子中我们定义了一个具有5个元素的数组,那么正常有效的下标范围范围是0~4而类似于-2、-3、-1、5、6、7、8……等等,这样的下标在使用在array这个数组时,编译器是不会去校验其合法性的。也就是说,编译器在编译这样的代码时不会提示错误,但这并不合理,我们提示读者在使用数组时要格外注意数组的下标范围。当然数组变量使用时中括号中的下标不仅仅可以定写数值,还可以写成表达式,还可以写成变量与表达式,如array[a+b] = 3;  array[a-1] = 5;  array[a] = array[a*2];等等。

      例如,用一个循环来显示数组中所有的值:

for (int i = 0; i < 5; i++)
{
    printf("%d\n", array[i]);
}

        我们再来看看关于其它类型的数组定义

char array1[5] = {'H','e','l','l','o'};
int array2[5] = {1,2,3,4,5};
long array3[5];
float array4[5];

        关于字符型的数组与其它类型的数组的定义、初始化和使用都是一样的。但对于字符型数组又可以当作字符串来使用,我们将在下一节中学习关于字符数组与字符串的定义和使用。

    返回首页    返回顶部
  看不清?点击刷新

 

  Copyright © 2015-2018 问渠网 辽ICP备15013245号