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}}};

相关推荐
山顶听风4 小时前
Flask应用改用Waitress运行
前端·笔记·python·flask
胖咕噜的稞达鸭4 小时前
AVL树手撕,超详细图文详解
c语言·开发语言·数据结构·c++·算法·visual studio
-SGlow-4 小时前
Linux相关概念和易错知识点(48)(epoll的底层原理、epoll的工作模式、反应堆模式)
linux·服务器·c语言·网络·c++
cellurw5 小时前
Day67 Linux I²C 总线与设备驱动架构、开发流程与调试
linux·c语言·架构
蒙奇D索大6 小时前
【操作系统】408操作系统核心考点精讲:宏内核、微内核与外核架构全解析
笔记·考研·架构·改行学it
无限进步_6 小时前
【C语言】在矩阵中高效查找数字的算法解析
c语言·开发语言·数据结构·c++·其他·算法·矩阵
Yupureki6 小时前
从零开始的C++学习生活 11:二叉搜索树全面解析
c语言·数据结构·c++·学习·visual studio
草莓工作室6 小时前
数据结构2:线性表1-线性表类型及其特点
c语言·数据结构
DARLING Zero two♡6 小时前
告别笔记局限!Blinko+cpolar让AI笔记随时随地可用
人工智能·笔记
啊森要自信6 小时前
【MySQL 数据库】MySQL用户管理
android·c语言·开发语言·数据库·mysql