C语言自学笔记10----C语言数组

C 语言数组

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

示例

int data[100];

例如,

float mark[5];

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

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

访问数组元素

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

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

说明:

数组的第一个索引为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};

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

示例

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

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

在C语言编程中初始化数组

这里,

mark[0] 等于 19

mark[1] 等于 10

mark[2] 等于 8

mark[3] 等于 17

mark[4] 等于 9

更改数组元素的值

示例

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

//使第三个元素的值为-1

mark[2] = -1;

//使第五个元素的值为0

mark[4] = 0;

输入和输出数组元素

访问元素超出范围!

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

int testArray[10];

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

现在,假设您尝试访问testArray[12]。该元素不可用。这可能会导致意外输出(抛出错误)。
因此,永远不要访问数组边界之外的元素。
C 语言多维数组

在C语言编程中,您可以创建一个数组。这些数组称为多维数组。例如,

float x[3][4];

这x是二维(2d)数组。该数组可以容纳12个元素。您可以将数组视为具有3行的表,每行有4列。

x[0][0];x[0][1];x[0][2];x[0][3];

x[1][0];x[1][1];x[1][2];x[1][3];

x[2][0];x[2][1];x[2][2];x[2][3];

C程序设计中的二维数组

同样,您可以声明三维(3d)数组。例如,

示例

float y[2][4][3];

在这里,数组y可以容纳24个元素。

初始化多维数组

下面是初始化二维和三维数组的方法:

二维数组的初始化

示例

//初始化二维数组的不同方法

int c[2][3] = {{1, 3, 0}, {-1, 5, 9}};

int c[][3] = {{1, 3, 0}, {-1, 5, 9}};

int c[2][3] = {1, 3, 0, -1, 5, 9};

三维数组的初始化

您可以用类似于二维数组的类似方式初始化三维数组。这是一个实例

示例

int test[2][3][4] = {

{{3, 4, 2, 3}, {0, -3, 9, 11}, {23, 12, 23, 2}},

{{13, 4, 56, 3}, {5, 9, 3, 5}, {3, 1, 4, 9}}};

相关推荐
lengjingzju24 分钟前
一网打尽Linux IPC(三):System V IPC
linux·服务器·c语言
利刃大大31 分钟前
【2025年度创作总结】从笔记到实践,从思考到生活融合
笔记·生活
航Hang*1 小时前
Photoshop 图形与图像处理技术——第1章:数字图像基本知识
图像处理·笔记·ui·photoshop
范纹杉想快点毕业2 小时前
返璞归真还是拥抱现代?——嵌入式研发中的“裸机开发”与RTOS全景解析
c语言·数据库·mongodb·设计模式·nosql
iconball2 小时前
个人用云计算学习笔记 --37 Zabbix
运维·笔记·学习·云计算·zabbix
!停3 小时前
c语言动态申请内存
c语言·开发语言·数据结构
Yiii_x4 小时前
Object类与包装类
java·经验分享·笔记·课程设计·ai编程
四谎真好看4 小时前
MySQL 学习笔记(运维篇1)
运维·数据库·笔记·学习·mysql·学习笔记
hssfscv5 小时前
Javaweb学习笔记——Web
笔记·学习·web
摇滚侠5 小时前
RocketMQ 教程丨深度掌握 MQ 消息中间件,rocketmq 安装,控制台,笔记 21-27
笔记·rocketmq·java-rocketmq