数组

    技术2025-09-18  29

    数组:一组具有相同数据类型的数据的集合     一维数组     二维数组     字符数组      一维数组     定义格式:         类型说明符  数组名[整型表达式];                  "类型说明符":指定数组元素的类型,任意C语言合法的类型都可以         "数组名":C语言标识符         "整型表达式":指定数组元素的个数。              如:         int a[10];              一维数组在内存中的存放:         在连续的地址空间中,从低地址到高地址依次连续的存放数组中的每个元素。              一维数组元素的引用:         数组名[下标]         "下标":C语言里下标是从0开始的整数,即必须要>=0             a[0] a[1] a[2]  ... a[9]         ★引用数组元素a[i]跟普通变量一样,可读可写,即可作左值也可作右值,还可以取地址。              一维数组的初始化:  数组的初始化用{},并且必须在定义时直接初始化         (1)全部初始化。             int a[10]={1,2,3,4,5,6,7,8,9,10};         (2)可以只对部分元素初始化,后面的元素会自动的初始化为0             int a[10]={1,2,3};         (3)如果对全部数组元素赋初值,那么可以不指定数组的长度             int a[]={1,2,3,4,5,6,7,8,9,10};              二、二维数组     int a[4];//定义一个数组a     我们再定义一个数组b     typeof(a)  b[3];     //typeof(a) ==> int[4];     int[4] b[3];     ==> int b[3][4];     新定义的数组b里面有三个元素,b[0],b[1],b[2]而这三个元素,每个元素都是int[4]类型。          由推导过程可以得出:二维数组实际上是一个一维数组,只不过该一维数组中的元素又是     一个一维数组。     我们把int b[3][4]在使用中可以理解为一个3行4列的矩阵。          二维数组的定义:         类型说明符  数组名[整型表达式1][整型表达式2];                              多少行     每行多少列                                   二维数组在内存中的存放:         按行存放,即先顺序的存放第一行元素,再接着存放第二行元素...              二维数组元素的引用         数组名[第几行][第几列]           注意:下标是从0开始的              二维数组的初始化:         (1)分行给二维数组赋初值           int b[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};         (2)将所有数据写在一个花括号内,按数组排列顺序对各元素赋值           int b[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};         (3)对部分元素赋值,剩余的元素自动置0           int b[3][4]={1,2,3};           int b[3][4]={{1,2},{5,6,7,8},{9,10}};         (4)如果对全部元素都赋初值,则定义数组时可以对第一维的长度省略,           但是第二维的长度不能省略。           int b[][4]={1,2,3,4,5,6,7,8,9,10};           

           三、字符数组及字符串操作函数     字符数组就是数组元素是char(字符型)的数组,它包括一维数组和二维数组。          char c1[]={'c','h','i','n','a'};     char c2[]={"china"};          两者有什么区别呢?      char c2[]={"china"};      <=> char c2[]={'c','h','i','n','a','\0'};      字符串在保存时会在末尾加一个终止符'\0','\0'的ASCII码就是0。      终止符的作用是用来标志字符串的结束。      我们在进行操作字符串时,都是代入字符串的首地址,正因为每个字符串都有一个      终止符,系统才知道字符串的具体范围。      ★数组名它代表数组的首地址,是一个常量       ★字符串操作函数:  string.c   (1)puts/gets   (2)strcpy/strncpy   (3)strlen   (4)strcat/strncat   (5)strcmp/strncmp

    Processed: 0.010, SQL: 9