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日

相关文章

  • JDK 7 新特性小结实例代码解析

    JDK 7 新特性小结实例代码解析 简介 JDK 7 是 Java Development Kit 的版本号,是 Java 的一个版本。JDK 7 主要添加了许多新特性,包括小型语言改进、文件访问/输入和输出的 I/O 改进、内部脚本引擎、实例创建类型推断、字符串开头的结尾和 switch 语句中的字符串变量、数字下划线等。本文将从例子出发,详细地介绍 JD…

    C 2023年5月23日
    00
  • 三星Galaxy Book Flex值得入手吗 三星笔记本Galaxy Book Flex详细评测

    三星Galaxy Book Flex值得入手吗 三星笔记本Galaxy Book Flex详细评测 如果你正在寻找一款高性能、轻巧、功能强大的2合1笔记本,那么三星Galaxy Book Flex绝对值得一看。该笔记本采用最新一代的处理器,配备高清触摸屏和可旋转键盘,具备出色的性能和灵活的使用方式,让你随时随地体验高效便捷的计算体验。 性能和硬件 三星Gal…

    C 2023年5月22日
    00
  • Python中hash加密简介及使用方法

    Python中hash加密简介及使用方法 什么是hash加密 hash加密是一种单向加密算法,它将原始数据通过特定的算法生成固定长度的字符串,且无法通过这个字符串反向推回原始数据。这种加密方式被广泛应用于安全领域中,例如密码加密、数据完整性验证等。 Python中hash模块 Python标准库中提供了hashlib模块来实现hash加密。该模块支持多种ha…

    C 2023年5月23日
    00
  • C++实现产生随机数和相应的猜拳小游戏实例代码

    当我们玩游戏的时候,经常会需要用到随机数。在C++中,我们可以使用rand函数来生成随机数。为了演示如何使用rand函数来实现一个猜拳小游戏,下面我们将采取如下步骤: 注释掉程序中已有的代码段,以便写入新的代码。 导入头文件stdlib.h,包含了rand函数的定义。 引用时间函数time.h,以获得当前时间戳。 生成随机数,限定在0到2范围内,分别对应石头…

    C 2023年5月24日
    00
  • C++初级线程管理

    C++初级线程管理是多线程编程中最基础的部分,它可以帮助开发者充分利用计算资源,提升程序的并发能力,从而提高程序的运行效率。下面是完整的C++初级线程管理攻略: 线程的概念和基本使用 线程的概念 线程是计算机程序执行流的最小单元,它是操作系统能够进行运算调度的基本单位。与进程不同,线程通常是在同一进程中执行的,因此共享同一份资源,包括内存空间、文件描述符和其…

    C 2023年5月22日
    00
  • C语言常用的编辑器你知道几个

    下面是关于C语言常用的编辑器的攻略。 什么是C语言编辑器? C语言编辑器是一种专门为C语言编写的软件工具,它能够提供代码编辑、编译、调试、代码补全和代码高亮等功能。C语言编辑器通常还支持其他编程语言,如C++,Java,Python等。 常用的C语言编辑器有哪些? 下面是常用的C语言编辑器: 1. Visual Studio Code Visual Stud…

    C 2023年5月23日
    00
  • VC程序设计中CreateProcess用法注意事项

    标题:VC程序设计中CreateProcess用法注意事项 什么是CreateProcess CreateProcess是一个Windows API函数,用来创建一个新的进程。它可以由一个程序来调用,来生成新的进程并运行。 CreateProcess的使用注意事项 在使用CreateProcess函数创建新进程的时候,需要注意以下几点: 参数lpComman…

    C 2023年5月30日
    00
  • C++变量和基本类型详解

    C++变量和基本类型详解 在C++中,变量是计算机中存储和操作数据的基本单元。在使用变量时,我们需要了解变量的类型、生命周期等相关知识,才能更好地利用它们。 变量类型 C++中包含多种变量类型,包括整型、浮点型、字符型、布尔型等。 整型 整型变量用于存储整数,包括有符号和无符号两种类型。常见的整型类型有: short:短整型,占2个字节,取值范围为-3276…

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