卡塔尔世界杯排名_98世界杯决赛 - dylfjc.com

  • 首页
  • 中国足球世界杯
  • 亚洲区世界杯预选
  • 02韩日世界杯
  • HOME> 中国足球世界杯> C语言 —— 数组(数组的声明、初始化、访问)与字符串指针
    C语言 —— 数组(数组的声明、初始化、访问)与字符串指针
    中国足球世界杯

    1、什么是数组

    若将有限个类型相同的变量的集合命名,那么这个名称为数组名。

    数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按无序的形式组织起来的一种形式。 [1] 这些无序排列的同类数据元素的集合称为数组。

    2、声明数组

    数组的声明并不是声明一个个单独的变量,比如number0,bumber1……,而是声明一个数组,比如numbers,然后使用number[0],number[1]……来单独代表一个个单独的变量。(数组中的元素是可以通过索引来进行访问的)。

    (所有的数组都是以 0 作为它们第一个元素的索引,也被称为基索引,数组的最后一个索引是数组的总大小减去 1)

    c语言声明数组,需要指明元素的类型和元素的数量,一维数组的所示如下:

    type arrayName [arraySize];

    arraySize 必须是一个大于零的整数常量,type 可以是任意有效的 C 数据类型。

    例如:

    int a[10]; 说明整型数组a,有10个元素。若要表示第10个元素,则使用a[9]。第一个则是a[0]。

    float b[10],c[20]; 说明实型数组b,有10个元素,实型数组c,有20个元素。

    char ch[20]; 说明字符数组ch,有20个元素。

    3、数组的初始化(以char类型的数组为例)

    3.1 初始化时候不指明数组的大小,则数组的大小则为初始化时候元素的个数。

    #include

    int main()

    {

    char cBufLen[] = {'a', 'b', 'c'};

    printf("sizeof(cBufLen)=%d\n", sizeof(cBufLen)); //返回的值是3,因为有三个元素

    }

    3.2 初始化时候,指明数组的大小,大括号 { } 之间的值的数目不能大于我们在数组声明时在方括号 [ ] 中指定的元素数目。

    1 #include

    2 int main()

    3 {

    4 char cLessThanBuf[4] = {'a', 'b', 'c'};

    5 char cEqualThanBuf[4] = {'a', 'b', 'c', 'd'};

    6 char cGreatThanBuf[4] = {'a', 'b', 'c', 'd', 'e'};

    7 }

    /*******************以下为出错显示*********************/

    getDataFromBuf.c: 在函数‘main’中:

    getDataFromBuf.c:7:2: 警告:数组初始值设定项中有多余的元素 [默认启用]

    char cGreatThanBuf[4] = {'a', 'b', 'c', 'd', 'e'};

    /*****************************************************/

    3.3 给char类型数组赋值的方式有:

    char cBufOne[4] = {'a', 'b', 'c', 'd'};

    char cBufTwo[4] = {"abcd"};

    4、访问数组

    数组元素可以通过数组名称加索引进行访问。元素的索引是放在方括号内,跟在数组名称的后边。例如:数组名[元素索引值]

    为数组中某个元素赋值。直接把值赋给数组元素即可。

    #include

    #include

    int main()

    {

    char cBufOne[4] = {'a', 'b', 'c', 'd'};

    printf("cBufOne[0]=%d cBufOne[1]=%d\n", cBufOne[0],cBufOne[1]);

    cBufOne[1] = 'e'; //左值为数组元素的表示方式 //此行代码作用为数组中的某个元素赋值

    printf("cBufOne[0]=%d cBufOne[1]=%d\n", cBufOne[0],cBufOne[1]);

    printf("%d %d\n", cBufOne[0],cBufOne[1]);

    }

    /***********************以下为编译结果显示内容*********************/

    [root@localhost tool]# ./getDataFromBuf

    cBufOne[0]=97 cBufOne[1]=98

    cBufOne[0]=97 cBufOne[1]=101

    /****************************************************************/

    上面的语句将把数组中第 10 个元素的值赋给 salary 变量。下面的实例使用了上述的三个概念,即,声明数组、数组赋值、访问数组:

    5、来个示例。声明一个大小为4的char类型数组,给数组赋值,并访问数组。

    /*****************************************

    *Function:声明一个大小为4的char类型数组,给数组赋值,并访问数组

    *Parameter:

    *Return Value:

    *Remarks:

    * ******************************************/

    #include

    int main()

    {

    /*声明数组*/

    char cBuf[4]; /*cBuf是一个包含4 个char类型的数组*/

    int i = 0;

    int j = 0;

    /*初始化数组*/

    for(i = 0; i < 4; i++)

    {

    cBuf[i] = 'a' + i; /* 设置元素i为 i + 'a'*/

    }

    /*访问数组元素*/

    for(j = 0; j < 4; j++)

    {

    printf("cBuf[%d] = %d\n", j, cBuf[j]);

    }

    return 0;

    }

    /**************************结果显示如下**************/

    [root@localhost tool]# ./array

    cBuf[0] = 97

    cBuf[1] = 98

    cBuf[2] = 99

    cBuf[3] = 100

    /***************************************************/

    6、探讨数组初始化时候,大括号 { } 之间的值的 小于 数组声明时在方括号 [ ] 中指定的元素数目,其余值赋值为什么?

    #include

    int main()

    {

    /*声明数组 and 初始化数组*/

    char j = 0;

    char cBuf[4] = {"ab"};

    /*访问数组元素*/

    for(j = 0; j < 4; j++)

    {

    printf("cBuf[%d] = %d\n", j, cBuf[j]);

    }

    return 0;

    }

    /*************以下为结果显示******************/

    [root@localhost tool]# ./array

    cBuf[0] = 97

    cBuf[1] = 98

    cBuf[2] = 0

    cBuf[3] = 0

    /******************************************/

    //解释说明:查看ascii码发现,没被直接复制的数组元素被赋值为'\0'

    Oct Dec Hex Char

    ────────────────────────────────

    000 0 00 NUL '\0'

    看了就会!在线教你冻冰激凌!超简单!
    如何用韩语说“疯了”(韩语piqiaoso)

    友情链接:


    Copyright © 2022 卡塔尔世界杯排名_98世界杯决赛 - dylfjc.com All Rights Reserved.