C语言数组

Posted fengzi759

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言数组相关的知识,希望对你有一定的参考价值。

  1. 数组的概念

    • 数组是若干个相同类型的变量在内存中有序存储的集合

    • int a[10] ;//定义了一个整型的数组a,a是数组的名字,数组中有10个元素,每个元素都是int类型,而且在内存中连续存储

    • 这十个元素分别是 a[0],a[1]......a[9] 下标从0开始

  2. 数组分类

    • 按元素的类型分类

      • 字符数组

        • 即若干个字符变量的集合,数组中的每个元素都是字符型的变量

        • char s[10]; s[0],s[1]....s[9]

      • 短整型的数组

        • short int a [10] ; a[0].....a[9]

      • 整型的数组

        • int a[10]; a[0]....a[9]; a[0] = 3;

      • 长整数数组

        • long int a[5];

      • 浮点型的数组(单 双)

        • float a[6] ; a[0] = 3.14f;

        • double a[8]; a[7] = 3.115926

      • 指针数组

        • char*a[10];

        • int *a[10]

      • 结构体数组

        • struct stu boy[10];

    • 按维数分类

      • 一维数组

        • int a[30]; 类似于一排平房

      • 二维数组

        • int a[2] [30] 可以看成一栋楼房,有多层,每层有多个房间,也类似于数学中的矩阵

        • 二维数组可以看成由多个一维数组构成的 有行 有列

      • 多维数组

        • int a[4] [2] [10] 三维数组是由多个相同的二维数组构成;

    • 数组的定义(定义一个数组,在内存里分配空间)

      • 一维数组的定义

      • 格式

        • 数据类型 数组名 [数组个数]

        • int a [10];

        • char b [5];//定义了5个char类型变量

        • 5个变量分别为 b[0],b[1]....b[4];

      • 在数组定义的时候可以不给出数组元素的个数,系统可以根据初始化的个数来定数组的大小

      • 二维数组的定义

        • 格式

          • 数据类型 数组名 [行的个数] [列的个数]

          • int a [3] [3];

          • 定义了9 个int 类型的变量 分别是

          • a[0] [0] a[0] [1] a[0] [2]

          • a[1] [0] a[1] [1] a[1] [2]

          • a[2] [0] a[2] [1] a[2] [2]

      • 多维数组的定义:

        • int a[3] [4] [5]

      • 扩展 二维数组在定义的时候,可以不给出行数,但必须给出列数,二维数组的大小根据初始化的行数来决定的

  3. 定义并初始化

    • 一维数组的初始化

      • 全部初始化

        • int a[5] = 2,4,7,8,5;

        • 代表的意思为 a[0] = 2; a[1] = 4; a[2] =7; a[3] = 8; a[4] = 5;

      • 部分初始化

        • int a[5] = 2,4,3; 初始化赋值不够后面补0

        • a[0] = 2; a[1] = 4 a[2] = 3; a[3] = 0; a[4] = 0;

      • 注意: 只能省略后面元素,可以不初始化,不能中间的不初始化

    • 二维数组的定义并初始化

      • 按行初始化

        • 全部初始化

          • int a [2] [2] = 1,2,4,5;

          • a[0] [0] = 1; a[0] [1] = 2; a[1] [0] = 4; a [1] [1] = 5

        • 部分初始化

          • int a[3] [3] = 1,2,1;

          • a[0] [0] = 1; a[0] [2] = 0;

        • 逐个初始化

          • 全部初始化

            • int a [2] [3] = 2,5,4,2,3,4;

          • 部分初始化

            • int a[2] [3] = 3,5,6,8;

  4. 数组元素的引用方法

    • 一维数组元素的引用方法

      • 数组名 [下标] ; //下标代表数组元素在数组中的位置

      • int a[10]; a[2];

    • 二维数组元素的引用方法

      • 数组名 [行下标] [列下标]

      • int a [3] [4]; a[1] [2];

  5. 字符数组

    • 字符数组的定义

      • char c [] = ‘i‘,‘l‘,‘o‘,‘v‘,‘e‘,‘x‘;

      • char sc[] = "i love xiaoxin";

      • char [] [5] = ‘c‘,‘h‘,‘i‘,‘n‘,‘a‘,‘x‘,‘i‘,‘n‘,‘a‘,‘a‘;

      • char [] [6] = "xiaox","hello";

    字符数组的引用

    • 用字符串方式赋值比用字符逐个赋值要多占1个字节,用于存放字符串结束标志 ‘\ 0‘;

    • 注意: ’\0‘是由C编译系统自动加上的

    • 由于采用了 ‘\ 0‘标志,字符数组的输入输出将变得简单

    • 跟用整型数组一样的引用方法

以上是关于C语言数组的主要内容,如果未能解决你的问题,请参考以下文章

c语言数组构造类型的特点

C语言如何用GETS输入2维数组

C语言数组如何进行元素求和?

C语言数组初始化问题。

c语言数组,第三题

c语言中如何求数组长度