C 数组

当我们需要存储一组相同类型的数据时,C语言中的数组就是一个非常好的选择。数组可以存储基本类型、结构体、指针等数据类型。本文将详细介绍 C 数组的定义、初始化、访问和常用操作。

定义和初始化数组

C语言中定义一个数组有三个关键字:类型、数组名和数组大小。通常,数组定义的格式如下:

type arrayName [ arraySize ];

其中,type表示数组元素的类型,arrayName代表数组的名称,arraySize是可选项,表示数组的大小。

定义数组后,我们需要为其分配内存空间,即初始化数组。我们可以在定义数组时,初始化数组的值。分为显式数组初始化和隐式数组初始化。

显式数组初始化

显式初始化是指在定义数组时,直接为其成员赋值,例如:

int nums[5] = {1, 2, 3, 4, 5};

以上代码定义了一个大小为5的整型数组,并初始化为1,2,3,4, 5。

隐式数组初始化

隐式初始化是指在定义数组时,不对其进行显式赋值,例如:

int nums[5];

此时数组成员的值并没有确定,可以通过循环等方式为其赋值,例如:

for (int i = 0; i < 5; i++) {
    nums[i] = i + 1;
}

访问和操作数组

访问数组元素

我们可以使用下标操作符 [] 来访问数组的元素。数组下标是从0开始的,例如:

int nums[3] = {1, 2, 3};
int firstNum = nums[0];  // 访问第一个元素,值为1

数组元素遍历

遍历整个数组,可以使用for循环,例如:

int nums[3] = {1, 2, 3};
for (int i = 0; i < sizeof(nums) / sizeof(int); i++) {
    printf("%d", nums[i]);
}

输出结果为:123

获取数组长度

为了方便操作,我们需要知道数组的长度。在C语言中,可以使用以下方法获得数组的长度:

int nums[3] = {1, 2, 3};
int len = sizeof(nums) / sizeof(int);
printf("%d", len);

输出结果为:3

多维数组

除了一位数组,C语言还支持多维数组(二维、三维、n维等)。多维数组在内存中存储是连续的,例如:

int nums[2][3] = {
    {1, 2, 3},
    {4, 5, 6}
};

我们可以使用两个for循环来遍历整个多维数组,例如:

for (int i = 0; i < 2; i++) {
    for (int j = 0; j < 3; j++) {
        printf("%d", nums[i][j]);
    }
}

输出结果为:123456

实例

下面是两个实例演示了 C 数组的使用。

实例1:计算数组中的元素之和

#include <stdio.h>

int main() {
    int nums[5] = {1, 2, 3, 4, 5};
    int sum = 0;
    for (int i = 0; i < sizeof(nums) / sizeof(int); i++) {
        sum += nums[i];
    }
    printf("数组元素之和为:%d", sum);
    return 0;
}

输出结果为:数组元素之和为:15

实例2:矩阵转置

#include <stdio.h>
#define MATRIX_SIZE 3

void transpose(int matrix[MATRIX_SIZE][MATRIX_SIZE]) {
    for (int i = 0; i < MATRIX_SIZE; i++) {
        for (int j = i + 1; j < MATRIX_SIZE; j++) {
            int temp = matrix[i][j];
            matrix[i][j] = matrix[j][i];
            matrix[j][i] = temp;
        }
    }
}

void printMatrix(int matrix[MATRIX_SIZE][MATRIX_SIZE]) {
    for (int i = 0; i < MATRIX_SIZE; i++) {
        for (int j = 0; j < MATRIX_SIZE; j++) {
            printf("%d ", matrix[i][j]);
        }
        printf("\n");
    }
}

int main() {
    int matrix[MATRIX_SIZE][MATRIX_SIZE] = {
        {1, 2, 3},
        {4, 5, 6},
        {7, 8, 9},
    };
    printf("原矩阵:\n");
    printMatrix(matrix);
    transpose(matrix);
    printf("转置后的矩阵:\n");
    printMatrix(matrix);
    return 0;
}

输出结果为:

原矩阵:

1 2 3 
4 5 6 
7 8 9 

转置后的矩阵:

1 4 7 
2 5 8 
3 6 9 

以上就是 C 数组的使用攻略,希望对您有所帮助。

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

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

相关文章

  • 毕业答辩的ppt怎么写? 毕业答辩的ppt的制作技巧

    下面是毕业答辩PPT的制作攻略,分为以下几个步骤: 1.明确PPT的目的和主题 在制作PPT之前,我们需要先想清楚PPT的主题和目的,展示内容和要讲解的重点,对于毕业答辩PPT来说,最好能够简洁明了地介绍自己的研究方向、主要研究内容和研究成果。 2.制作PPT的结构 PPT的结构要清晰且合理,通过分章节、剖析问题、展示数据等多种方式为听众呈现自己的研究成果。…

    C 2023年5月22日
    00
  • 短视频脚本怎么写?短视频脚本写作技巧盘点

    短视频脚本怎么写?短视频脚本写作技巧盘点 什么是短视频脚本? 短视频脚本是指给短视频拍摄提供指导和约束的文本,包括了短视频中需要讲述的主要内容、场景、情节等。 短视频脚本写作技巧 1. 讲述一个故事 短视频不同于长视频,它需要在极短的时间内吸引观众的注意力,讲述一个吸引人的故事是非常重要的。编写短视频脚本时,需要在极短的时间内安排好完整的情节,让观众能够很快…

    C 2023年5月22日
    00
  • 一篇文章带你顺利通过Python OpenCV入门阶段

    一篇文章带你顺利通过Python OpenCV入门阶段 介绍 Python是一种非常流行的编程语言,而OpenCV则是一个常用的计算机视觉库。结合它们,可以开发出许多强大的图像处理工具和算法。本篇文章将带领你了解Python OpenCV的入门阶段,帮助你熟悉如何使用Python OpenCV进行图像处理。 环境设置 在开始使用Python OpenCV之前…

    C 2023年5月23日
    00
  • C语言五子棋小游戏实现代码

    C语言五子棋小游戏的实现代码,主要分为以下几步: 1. 游戏窗口的设计与绘制 游戏窗口的设计可以使用Windows API库中的CreateWindow () 函数进行实现。需要指定窗口的标题、大小、风格等参数。具体可以参考以下代码示例: //创建窗口的函数 HWND hWindow; hWindow = CreateWindow( "Window…

    C 2023年5月24日
    00
  • php7 错误处理机制修改实例分析

    PHP7 错误处理机制修改实例分析 一、背景 在PHP7中,错误处理机制发生了一些变化。具体来说,PHP7增加了Throwable接口和Error类,用于代替旧版的Exception类。此外,PHP7还引入了一种新的错误处理器:Throwable处理器。Throwable处理器是一种标准的PHP异常处理方式,可以通过使用try-catch语句来捕获和处理所有…

    C 2023年5月22日
    00
  • C++实现简易反弹小球游戏的示例代码

    好的。首先,让我们来讲解如何使用C++实现简易反弹小球游戏的完整攻略。 准备工作 在开始编写代码之前,我们需要准备一些工具和环境: C++编译器(建议使用Visual Studio等集成开发环境) 游戏引擎或者相关库(例如SDL2等) 在本篇攻略中,我们将使用SDL2库来实现我们的游戏。因此,在开始之前,我们需要安装SDL2库及其所需的依赖项。 编写代码 接…

    C 2023年5月24日
    00
  • C语言 指针

    下面是关于C语言指针的完整使用攻略: 简介 指针是一种特殊的变量类型,它存储内存地址的值。通过指针,可以改变变量的值或者访问已分配的堆内存中的值。指针在C语言中具有重要的地位,理解指针也是C语言编程的基础之一。 指针的定义 指针定义的一般形式为:数据类型 *指针变量名。其中,数据类型是指针所指向的变量类型,指针变量名是指针变量在程序中的标识符。 示例: in…

    C 2023年5月9日
    00
  • C++友元函数与拷贝构造函数详解

    C++友元函数与拷贝构造函数详解 什么是友元函数? 在 C++ 编程中,有时一个类的方法需要访问该类的私有成员或保护成员,而这些方法不属于该类,此时就需要用到友元函数。 友元函数是被许可访问该类的私有成员或保护成员的函数。当一个函数被声明为友元函数时,它被赋予了访问该类中所有成员变量和函数的特殊权限。 #include <iostream> us…

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