C语言一维数组

下面是关于 C 语言一维数组的完整使用攻略。

一维数组定义

在C语言中定义一维数组需要指定数组的类型和数组的长度,例如:

int arr1[10];   //声明一个长度为10的整型数组
char arr2[5];   //声明一个长度为5的字符型数组
double arr3[8]; //声明一个长度为8的双浮点型数组

在上述代码中分别定义了三个不同类型的数组,并指定了它们的长度为10、5、8。

一维数组的初始化

一旦定义了一个一维数组,可以通过初始化对数组进行赋值,例如:

int arr1[5] = {1, 2, 3, 4, 5};     //初始化一个长度为5的整型数组
char arr2[3] = {'a', 'b', 'c'};    //初始化一个长度为3的字符型数组
double arr3[4] = {2.1, 3.4, 5.6};  //初始化一个长度为4的双浮点型数组

在上述代码中,分别对三个不同类型的数组进行了初始化,这样每个数组就有了初始值。

一维数组的访问

一维数组中的每个元素可以通过下标(从0开始)进行访问,例如:

int arr1[5] = {1, 2, 3, 4, 5};     //定义并初始化一个长度为5的整型数组
int x = arr1[0];                   //访问数组的第一个元素,也就是 1
int y = arr1[2];                   //访问数组的第三个元素,也就是 3

在上述代码中,通过下标访问了数组中的第一个元素和第三个元素。

一维数组的遍历

数组可以通过循环进行遍历访问它的每一个元素,例如:

int arr1[5] = {1, 2, 3, 4, 5};     //定义并初始化一个长度为5的整型数组
int i;
for (i = 0; i < 5; i++) {          //循环遍历数组中的每一个元素,输出每个元素的值
    printf("%d ", arr1[i]);
}

在上述代码中,通过循环遍历了数组中的每个元素,并输出了每个元素的值,输出结果为 1 2 3 4 5。

一维数组作为函数参数

一维数组可以作为函数的参数进行传递,例如:

void print_arr(int arr[], int len) {    //定义一个函数,参数是一个整型数组和数组的长度
    int i;
    for (i = 0; i < len; i++) {         //循环遍历数组中的每一个元素,输出每个元素的值
        printf("%d ", arr[i]);
    }
}
int main() {
    int arr1[5] = {1, 2, 3, 4, 5};
    print_arr(arr1, 5);                 //调用函数并将数组以及数组的长度传递给函数
    return 0;
}

在上述代码中,定义了一个函数 print_arr,接收一个整型数组和数组的长度作为参数,循环遍历数组并输出每一个元素。然后在主函数中,定义了一个数组 arr1,并将它以及数组的长度传递给函数 print_arr。最终输出结果为 1 2 3 4 5。

示例一

下面是一个求一维数组平均值的代码示例:

#include <stdio.h>
double average(double arr[], int len) {   //定义一个函数,参数是一个双浮点型数组和数组的长度
    int i;
    double sum = 0.0;
    for (i = 0; i < len; i++) {            //循环遍历数组中的每一个元素,累加每个元素的值
        sum += arr[i];
    }
    return sum / len;                      //数组的平均值等于数组元素的和除以数组的长度
}
int main() {
    double arr1[5] = {1.0, 2.0, 3.0, 4.0, 5.0};   //定义并初始化一个长度为5的双浮点型数组
    printf("The average of the array is: %lf\n", average(arr1, 5));   //调用函数并将数组以及数组的长度传递给函数
    return 0;
}

在上述代码中,定义了一个函数 average,接收一个双浮点型数组和数组的长度作为参数,循环遍历数组并求出数组元素之和,然后返回数组的平均值。然后在主函数中,定义了一个数组 arr1,并将它以及数组的长度传递给函数 average。最终输出结果为 The average of the array is: 3.000000。

示例二

下面是一个反转一维数组的代码示例:

#include <stdio.h>
void reverse(int arr[], int len) {    //定义一个函数,参数是一个整型数组和数组的长度
    int i, j;
    for (i = 0, j = len - 1; i < j; i++, j--) { //使用两个指针从数组的两端遍历数组并交换元素
        int temp = arr[i];
        arr[i] = arr[j];
        arr[j] = temp;
    }
}
int main() {
    int arr1[5] = {1, 2, 3, 4, 5};    //定义并初始化一个长度为5的整型数组
    reverse(arr1, 5);                //调用函数并将数组以及数组的长度传递给函数
    int i;
    for (i = 0; i < 5; i++) {         //循环遍历数组中的每一个元素,输出每个元素的值
        printf("%d ", arr1[i]);
    }
    return 0;
}

在上述代码中,定义了一个函数 reverse,接收一个整型数组和数组的长度作为参数,使用两个指针从数组的两端遍历数组并交换元素,从而实现将数组反转。然后在主函数中,定义了一个数组 arr1,并将它以及数组的长度传递给函数 reverse。最后循环遍历数组并输出每一个元素的值,输出结果为 5 4 3 2 1。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C语言一维数组 - Python技术站

(0)
上一篇 2023年5月9日
下一篇 2023年5月9日

相关文章

  • Java程序与C语言的区别浅析

    Java程序与C语言的区别浅析 相同点 Java程序和C语言程序都是计算机程序。两者都需要编译成计算机能够识别的二进制代码后才能执行。Java程序和C语言程序都需要按照指定的语法规则书写程序,并且它们都需要语言自带的IDE或编译器进行编写语法检查、编译等操作。 不同点 语法 Java程序与C语言的基本语法有较大差异。C语言程序中常用的指针操作、预处理器等在J…

    C 2023年5月30日
    00
  • 自己的vscode-settings.json配置详解

    下面是关于“自己的vscode-settings.json配置详解”的详细攻略。 什么是vscode-settings.json? vscode-settings.json是VS Code配置文件,它存储了 VS Code 的所有设置选项。当你更改 VS Code 的设置选项时,实际上是修改了此 JSON 文件。通过默认的设置 UI,你无法更改的某些设置选项…

    C 2023年5月23日
    00
  • Kotlin的枚举与异常示例详解

    Kotlin的枚举与异常示例详解 枚举(Enum) 枚举是指具有固定数量的、有限的、不同类型的值的集合,它们被定义在枚举类中。在Kotlin中,使用enum class关键字来声明一个枚举类。 声明枚举类型 下面是一个基本的颜色枚举类型的示例: enum class Color { RED, ORANGE, YELLOW, GREEN, BLUE, INDI…

    C 2023年5月22日
    00
  • ASP 精华源码收集(五年总结)

    ASP 精华源码收集(五年总结)攻略 简介 ASP(Active Server Pages)作为一种面向WEB的动态脚本语言,发展至今已经拥有了很多的经典精华源码。本攻略将针对ASP精华源码的收集整理过程及部分示例说明进行介绍。 收集整理过程 1. 明确收集目标 在收集ASP精华源码之前,我们需要先明确收集目标,将收集到的代码分类整理,以便后期使用。在明确收…

    C 2023年5月23日
    00
  • C语言中如何进行异常安全编程?

    C语言中的异常安全编程有以下几个方面的要点: 1. 内存管理 在进行内存分配和释放时一定要小心,避免出现悬挂指针和内存泄露等问题。建议使用RAII(资源获取即初始化)技术,通过构造函数初始化资源,析构函数释放资源,以保证在任何情况下都能够正确释放资源。 示例1:使用RAII技术进行内存分配和释放 #include <iostream> #incl…

    C 2023年4月27日
    00
  • C语言超全面讲解函数的使用方法上

    C语言超全面讲解函数的使用方法上 函数的定义与调用 函数是C语言中的基本操作,在程序设计中起到了至关重要的作用。C语言中的函数定义包括函数的返回类型、函数名、参数列表以及函数体。函数的调用可以通过函数名加参数列表的方式实现。 下面是一个简单的函数定义和调用的示例: #include<stdio.h> int max(int a, int b) {…

    C 2023年5月22日
    00
  • Windows配置VSCode+CMake+Ninja+Boost.Test的C++开发环境(教程详解)

    下面是“Windows配置VSCode+CMake+Ninja+Boost.Test的C++开发环境(教程详解)”的完整攻略: 介绍 在Windows系统下,配置C++开发环境需要一些必须的组件和软件。本文将介绍如何在Windows系统下安装和配置VSCode、CMake、Ninja和Boost.Test组件,从而打造一个完整的C++开发环境。 步骤一:安装…

    C 2023年5月23日
    00
  • Lua获取网络时间(获取时间同步服务器的时间)

    获取网络时间是一个常见的需求,可以借助在线时间同步服务器来获取当前的时间并更新本地时间,Lua也可以通过此方式来实现网络时间获取。 在Lua中获取网络时间最简单的方法是使用Luasocket库并连接在线时间同步服务器,这个库可以通过LuaRocks来安装。 以下是获取网络时间的基本步骤: 安装Luasocket库 可以通过LuaRocks来安装Luasock…

    C 2023年5月22日
    00
合作推广
合作推广
分享本页
返回顶部