C语言基础--数组

      在C语言中提供了这样一种语法功能将相同类型的变量存入数组,用数组来表示这样一个元素的集合。当然C语言的数组不如Objective-C中那样的强大,C语言的数组是只可以存储同一类型的元素,而后者只可以存储对象但是对象的类是可以不受任何限制的(也就是说不必相同)。

    1.数组的声明:

      在程序语言中,遵循的原则都是先声明定义后使用(这是我大学专业课老师的原话),那么声明一个数组形如:

      int array[10] = {0,1,2,3,4,5,6,7,8,9};

      对于这一句有一些说明:

      int表示数组存储元素的数据类型;

      array是数组的名称;

      10表示的是数组中存储元素的最大个数;

     在声明过后,我们可以根据引索取到元素中的元素值: array[9] = 9;取到了数组中最后一个元素的值。

      *等号右边的元素用大括号,存储的元素个数不得超过数组可存储的最大值(会出现越界错误)并且元素的类型要与数组声明存储的类型完全一致。还有需要注意的是C语言唯一允许对数组这种赋值方式的时机是在声明时的初始化(言外之意就是不可以分开写)。若写成:

      int array[10]; array[10] = {0,1,2,3,4,5,6,7,8,9};则会报错。若使用指针(数组的引用)则不会有这样的限制(指针是后话)。

      *当然在声明数组的时候可以不用表示数组中存放元素的个数,将上面的array[10]替换成array[]也是可以的。

      类似的,我们还会有字符数组 char array[] = {'h', 'e', 'l', 'l', 'o'};

     

     2.const限定符

       const是英文单词constant的简称,翻译为常量。顾名思义,常量表示你声明的这个量是不可变的,可以进行如下的使用: const int number = 1; 这样声明以后若要是在后续的程序中改变number的值编译器抛出一条错误信息: foo.c:2: error: assignment of read-only variable 'number'

 

    3.多维数组(二维数组)

      与一维数组类似,给出一个实例: int array[4][5] = {

                                                                       {0,0,0,0,0},

                                                                        {1,1,1,1,1,1},

                                                                        {2,2,2,2,2},

                                                                        {3,3,3,3,3}

                                                                       };

      表示一个四行五列的二维数组,当然也可以去掉内层的括号只保留最外层的括号。二维数组初始化的时候不必初始化所有元素,可以选择性的初始化某几行某几列的元素例如可以这样:

                                         int array[4][5] = {

                                                                         {0,0,0,0},

                                                                        {1,1,1,1,1},

                                                                        {2,2,2},

                                                                        {3,3,3,}

                                                                       };

也可以这样:

                                      int array [4][5] = {    [0][1] = 1, [2][2] = 4, [3][4] = 6  };这样也是允许的。

 

posted @ 2017-09-22 00:47  EngineerX  阅读(257)  评论(0编辑  收藏  举报