C零基础视频-25-数组的定义与使用.md

为什么需要数组

在编程的有些场景中我们可能需要使用多个同类型变量。这时候,使用数组更方便。
如,需要5个double变量保存5个同学的成绩,并计算平均成绩,不使用数组时:

#include <stdio.h>

int main(int argc, char* argv[])
{
    double score1 = 89.8;
    double score2 = 59;
    double score3 = 85;
    double score4 = 70;
    double score5 = 95.5;

    printf("平均分:%f\r\n", (score1 + score2 + score3 + score4 + score5) / 5);
    return 0;
}

使用数组时:

#include <stdio.h>

int main(int argc, char* argv[])
{
    double dbScoreAry[5] = {89.8, 59, 85, 70, 95.5};
    double dbAverage = 0;
    for (int i = 0; i < 5; i++)
    {
        dbAverage += dbScoreAry[i];
    }
    printf("平均分:%f\r\n", dbAverage / 5);
 return 0;
}

数组的定义

数组定义的基本语法是:

类型 数组名[数组大小];

如:

double dbScoreAry[5];

注意:根据C89标准,定义时数组的大小必须为常数。

数组的初始化

在数组定义的同时,可以批量初始化:

double dbScoreAry[5] = {89.8, 59, 85, 70, 95.5};

数组的引用与赋值

数组一旦定义,我们之后就可以通过数组名与下标去引用数组中的某一个元素,基本语法是:

数组名[数组下标]

注意,数组下标是从第0号(而不是1)开始的。

#include <stdio.h>

int main(int argc, char* argv[])
{
    double dbScoreAry[5] = {89.8, 59, 85, 70, 95.5};
    printf("%f\r\n", dbScoreAry[2]);
    printf("%f\r\n", dbScoreAry[4]);
 return 0;
}

数组的特点

  • 数组名是数组在内存中的首地址
  • 数组中的所有元素都是连续排放的
#include <stdio.h>

int main(int argc, char* argv[])
{
    double dbScoreAry[5] = { 89.8, 59, 85, 70, 95.5 };

    printf("%f\r\n", dbScoreAry[2]);
    printf("%f\r\n", dbScoreAry[4]);

    printf("%08X\r\n", dbScoreAry);//不需要&符号,地址
    printf("%08X\r\n", &dbScoreAry[0]);//不需要&符号,地址
    printf("%08X\r\n", &dbScoreAry[2]);//不需要&符号,地址
    return 0;   
}

猜你喜欢

转载自www.cnblogs.com/shellmad/p/11646276.html