• C 语言数组


    C 语言数组

    在本教程中,您将学习如何使用数组。您将借助示例学习如何声明,初始化和访问数组的元素。

    数组是可以存储多个值的变量。例如,如果要存储100个整数,则可以为其创建一个数组

    示例

    cint data[100];
    
    • 1

    如何声明数组?

    dataType arrayName[arraySize];
    
    • 1

    例如,

    float mark[5];c
    
    • 1

    在这里,我们声明了一个浮点类型的数组mark。其大小为5。意味着,它可以容纳5个浮点值。

    需要注意的是,数组的大小和类型一旦声明就不能更改

    访问数组元素

    您可以按索引访问数组的元素。

    假设您如上所述声明了一个数组mark。第一个元素是mark[0],第二个元素是mark[1],依此类推。

    C数组声明

    说明
    • 数组的第一个索引为0,而不是1。在此示例中,数组为第mark[0]一个元素。
    • 如果数组的大小为,则要n访问最后一个元素,n-1则使用索引。在这个实例中mark[4]
    • 假设的起始地址mark[0]是2120d。然后,的地址mark[1]将为2124d。同样,地址mark[2]将是2128d等。
      这是因为a的大小float是4个字节。

    如何初始化数组

    在声明期间可以初始化数组。例如,

    示例

    int mark[5] = {19, 10, 8, 17, 9};
    
    • 1

    您也可以像这样初始化一个数组

    示例

    int mark[] = {19, 10, 8, 17, 9};
    
    • 1

    在这里,我们没有指定大小。但是,当我们使用5个元素进行初始化时,编译器知道其大小为5。
    在C语言编程中初始化数组

    这里,

    mark[0] 等于 19
    mark[1] 等于 10
    mark[2] 等于 8
    mark[3] 等于 17
    mark[4] 等于 9
    
    • 1
    • 2
    • 3
    • 4
    • 5

    更改数组元素的值

    示例

    int mark[5] = {19, 10, 8, 17, 9}
    
    //使第三个元素的值为-1
    mark[2] = -1;
    
    //使第五个元素的值为0
    mark[4] = 0;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    输入和输出数组元素

    这是如何从用户那里获取输入并将其存储在数组元素中的方法。

    // 获取输入并将其存储在第三个元素中
    scanf("%d", &mark[2]);
    
    // 把输入存储在第i个元素中
    scanf("%d", &mark[i-1]);
    
    • 1
    • 2
    • 3
    • 4
    • 5

    这是打印数组单个元素的方法。

    示例

    //打印数组的第一个元素
    printf("%d", mark[0]);
    
    //打印数组的第三个元素
    printf("%d", mark[2]);
    
    //打印数组的第i个元素
    printf("%d", mark[i-1]);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    示例1:数组输入/输出

    //程序从用户那里获取5个值并将它们存储在数组中
    //打印存储在数组中的元素
    #include 
    
    int main() {
      int values[5];
    
      printf("输入5个整数: ");
    
      //接受输入并将其存储在数组中
      for(int i = 0; i < 5; ++i) {
         scanf("%d", &values[i]);
      }
    
      printf("显示整数: ");
    
      //打印数组的元素
      for(int i = 0; i < 5; ++i) {
         printf("%d\n", values[i]);
      }
      return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22

    输出结果

    输入5个整数: 1
    -3
    34
    0
    3
    显示整数: 1
    -3
    34
    0
    3
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    在这里,我们使用了一个 for循环,来从用户那里获取5个输入的数值,并将它们存储在一个数组中。然后,使用另一个 for循环,这些元素显示在屏幕上。

    示例2:计算平均值

    示例

    //程序使用数组查找n个数字的平均值
    #include 
    int main()
    {
         int marks[10], i, n, sum = 0, average;
    
         printf("输入元素数量: ");
         scanf("%d", &n);
    
         for(i=0; i<n; ++i)
         {
              printf("输入数字%d: ",i+1);
              scanf("%d", &marks[i]);
              
              //将用户输入的整数添加到sum变量
              sum += marks[i];
         }
    
         average = sum/n;
         printf("平均值 = %d", average);
    
         return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    输出结果

    输入元素数量: 5
    输入数字1: 45
    输入数字2: 35
    输入数字3: 38
    输入数字4: 31
    输入数字5: 49
    平均值 = 39
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在这里,我们计算了用户输入的n个数字的平均值。

    访问元素超出范围!

    假设您声明了一个由10个元素组成的数组。比方说

    int testArray[10];
    
    • 1

    您可以访问数组元素 testArray[0] - testArray[9]。

    现在,假设您尝试访问testArray[12]。该元素不可用。这可能会导致意外输出(抛出错误)。

    因此,永远不要访问数组边界之外的元素。

    多维数组

    在本教程中,您了解了数组。这些数组称为一维数组。

    在下一个教程中,您将学习[多维数组(数组的数组)。

  • 相关阅读:
    Kong实现禁止国外IP访问
    【OpenCV】直方图计算 & 均衡化直方图
    C++打怪升级(七)- 动态内存管理
    Nat. Communications Biology2022 | PepNN+: 用于识别多肽结合位点的深度关注模型
    (十二)Spring IoC注解式开发
    「SpringBoot」09 原理解析
    悬赏任务兼职众人帮蚂蚁帮扶任务平台
    Redis为什么变慢了
    【JUC2022】第一章 CompletableFuture
    哪些 GPTs 应用让我眼前一亮?你又该如何找到它们?
  • 原文地址:https://blog.csdn.net/Tom_Jerry__/article/details/134404731